Создание источника данных

Требования к операционной системе: 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

См. также:

Примеры использования библиотеки pplib++