Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере описывается создание и некоторые приемы работы с измерением источника данных. После запуска примера выполняются следующие операции:
создается источник данных на основе описания объекта репозитория, полученного у выбранного измерения;
извлекается объект измерения из источника данных по идентификатору выбранного измерения;
извлекается наименование и текстовое описание полученного измерения;
изменяется значение режима агрегирования данных;
извлекается информация об объекте репозитория, на основе которого создан источник данных.
Для выполнения примера необходимо разместить в теле метода executeExample класса ViewController (см. раздел «Анализ данных») следующий код:
// Получаем массив измерений куба
SNArray allDimensions = [self allDimensions];
// Получаем первое измерение куба в массиве
SPPLDimension dimension = allDimensions->objectAtIndex<PPLDimension>(0);
// Получаем описание объекта, на основе которого создано текущее измерение
SPPLMetabaseRepositoryObjectDescriptor dimensionObjectDescriptor = dimension->relatedObjectDescriptor();
// Создаем источник данных с помощью описания объекта репозитория
SPPLDataSource createdDataSource = PPLDataSource::dataSource(dimensionObjectDescriptor);
// Получаем объект измерения из созданного источника данных по идентификатору текущего измерения
SPPLDimension dataSourceDimension = createdDataSource->dimensionById(dimension->id());
// Получаем наименование измерения, извлеченного из источника данных
SNString dataSourceDimensionName = dataSourceDimension->name();
// Выводим в консоль среды разработки наименование измерения, извлеченного из источника данных
printf("Измерение источника данных: \"%s\"\n", dataSourceDimensionName->UTF8String());
// Получаем значение текущего режима агрегирования данных
bool dataSourceIsAggregate = createdDataSource->isAggregate();
// Устанавливаем новое значение текущего режима агрегирования данных, противоположное исходному
createdDataSource->setIsAggregate(!dataSourceIsAggregate);
// Получаем измененное значение текущего режима агрегирования данных
dataSourceIsAggregate = createdDataSource->isAggregate();
// Выводим в консоль среды разработки значение режима агрегирования данных
if(dataSourceIsAggregate) printf("Режим агрегирования данных источника включен\n");
else printf("Режим агрегирования данных источника выключен\n");
// Получаем описание источника данных
SPPLMetabaseRepositoryObjectDescriptor dataSourceDescriptor = createdDataSource->descriptor();
// Получаем наименование объекта репозитория, на основе которого создан источник данных
SNString dataSourceDescriptorName = dataSourceDescriptor->name();
// Выводим в консоль среды разработки наименование объекта репозитория, на основе которого создан источник данных
printf("Наименование объекта репозитория, на основе которого создан источник данных: %s\n", dataSourceDescriptorName->UTF8String());
// Получаем текстовое описание измерения, извлеченного из источника данных
SNString dataSourceDimensionDescription = dataSourceDimension->description();
// Выводим в консоль среды разработки текстовое описание измерения, извлеченного из источника данных
printf("Описание измерения, извлеченного из источника данных:\n\n%s\n", dataSourceDimensionDescription->UTF8String());
В результате выполнения примера в консоли среды разработки было выведено наименование и описание измерения, извлеченного из источника данных, наименование объекта репозитория, на основе которого создан источник данных , а также значение режима агрегирования данных источника:
Измерение источника данных: "Календарь"
Режим агрегирования данных источника включен
Наименование объекта репозитория, на основе которого создан источник данных: World Development Indicators
Описание измерения, извлеченного из источника данных:
id: CALENDAR_Y_ENG_533
name: Календарь
Elements tree:
Elements count: 11
См. также: