Требования к операционной системе: 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
Наименование связанного измерения: Факты
См. также: