Работа с настройками синхронизации измерений аналитической панели

Требования к операционной системе: iOS 5.0 и выше.

Мобильное устройство: iPad.

Описание

В данном примере выполняется работа с настройками синхронизации измерений аналитической панели. После его запуска выполняются следующие операции:

Исходный код

Для выполнения примера необходимо разместить взамен метода executeExample класса ViewController (см. раздел «Отображение аналитической панели») следующий код:

-(void)executeExample {
    // Получаем первое измерение синхронизации
    SPPLDashboardSynchronizationDimension dimensionObject = [self getSynchronizationDimensionByIndex: 0];
    // Выводим информацию об измерении синхронизации аналитической панели
    [self showSynchronizationDimensionInfo: dimensionObject];
}
// Возвращает измерение синхронизации по индексу
-(SPPLDashboardSynchronizationDimension) getSynchronizationDimensionByIndex: (int) index {
    // Получаем справочник с настройками контейнера для измерений синхронизации и на их основе создаём объект контейнера
    SNArray dimensionDescriptions = m_dashboardReport->synchronizationDimensions()->generatePlist()->qClass<NArray>();
    SPPLDashboardSynchronizationDimensions dimensionObjects = PPLDashboardSynchronizationDimensions::synchronizationDimensions(dimensionDescriptions, m_dashboardReport->dataSourceDimensionObjects());
    // Получаем указанное измерение синхронизации
    SPPLDashboardSynchronizationDimension dimensionObject = dimensionObjects->dimensions()->objectAtIndex(index)->qClass<PPLDashboardSynchronizationDimension>();
    // Создаём справочник с настройками первого измерения синхронизации
    SNMutableDictionary plist1 = dimensionObject->generatePlist()->qClass<NMutableDictionary>();
    // Устанавливаем для первого измерения синхронизации новый атрибут
    plist1->setObjectForKey(NStr("testSyncAttr"), NStr("syncAttr"));
    // Создаём на основе справочника второй объект измерения синхронизации
    return PPLDashboardSynchronizationDimension::synchronizationDimension(plist1, m_dashboardReport->dataSourceDimensionObjects());
}
// Выводит информацию об измерении синхронизации аналитической панели
-(void)showSynchronizationDimensionInfo: (SPPLDashboardSynchronizationDimension) dimensionObject {
    printf("Идентификатор измерения синхронизации: %s \n", dimensionObject->id()->UTF8String());
    printf("Ключ измерения синхронизации: %lld \n", dimensionObject->key());
    printf("Наименование измерения синхронизации: %s \n", dimensionObject->name()->UTF8String());
    printf("Атрибут синхронизации: %s \n", dimensionObject->syncAttribute()->UTF8String());
    printf("Ключ индекса синхронизации: %lld \n", dimensionObject->syncIndexKey());
    SPPLDashboardDataSourceDimensionObject dimension = dimensionObject->dimensionObject();
    printf("Ключ связанного измерения: %lld \n", dimension->key());
    printf("Наименование связанного измерения: %s \n", dimension->name()->UTF8String());
}

В результате выполнения примера в консоли среды разработки была выведена информация о первом измерении синхронизации аналитической панели:

Идентификатор измерения синхронизации: ITEM

Ключ измерения синхронизации: 1

Наименование измерения синхронизации: ITEM

Атрибут синхронизации: testSyncAttr

Ключ индекса синхронизации: 1

Ключ связанного измерения: 98

Наименование связанного измерения: Факты

См. также:

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