Проверенные приемы IBM Cognos: Создание списков всех подмножеств в каждом измерении сервера IBM Cognos TM1

Рекомендация или метод; Продукт (продукты): IBM Cognos TM1 10.1; область интересов: Управление финансами

В статье излагается метод создания csv-файла, демонстрирующего все подмножества во всех размерностях, которые имеются на сервере Cognos TM1. Затем этот файл просматривается как отчет в продукте Cognos Insight.

Самир Инамдар, инженер по программному обеспечению, IBM

Sameer InamdarСамир Инамдар (Sameer Inamdar) — инженер по программному обеспечению; последние три года является сотрудником лаборатории IBM India Software Lab. В настоящее время он занимается устранением проблем, возникающих у заказчиков различных продуктов, в том числе TM1, Cognos BI, Cognos Insight и т.д.



Винни Бхагандани, инженер по системному программному обеспечению, IBM

Vinny BhagchandaniВинни Бхагандани (Vinny Bhagchandani) — инженер по системному программному обеспечению, в настоящее время является сотрудником лаборатории IBM India Software Lab. В. Бхагандани около двух лет занимается продуктами Cognos Planning и Cognos TM1, а в данный момент она специализируется на продукте IBM Cognos TM1.



24.04.2013

Введение

Назначение

В любом сервере IBM Cognos TM1 в каждом измерении может быть создано большое количество подмножеств. Во многих случаях при проектировании приложений TM1 нужно понимать, какие подмножества в данный момент времени существуют на сервере TM1. В этой статье описывается метод создания т.н. CSV-файла (т.е. файла с расширением .CSV — comma separated file), в котором содержатся все подмножества для всех измерений. Затем этот файл CSV-файл может быть просмотрен и проанализирован с помощью инструмента IBM Cognos Insight.

Применимость

Продукт IBM Cognos TM1 версии 10.1 и выше.

Исключения

На момент написания данного документа не было известно о каких-либо исключениях.


Создание выходного CSV-файла с помощью процесса TurboIntegrator

Выходная информация процесса TurboIntegrator (TI) продукта IBM Cognos TM1 содержится в соответствующем CSV-файле. В данном документе этот CSV-файл имеет имя SubsetCount.csv. Вам достаточно создать процесс TurboIntegrator и запустить его на исполнение. Этот процесс создаст CSV-файл, в котором для всех измерений будут перечислены все подмножества в соответствующем измерении.

Столбцы в CSV-файле

В нашем CSV-файле создаются два столбца, в которых содержится выходная информация процесса TI, описываемого ниже. Эти столбцы имеют следующие имена:

  • Dimension_names
  • Subset_names

Имя подмножества в столбце Subset_names принадлежит соответствующему измерению в столбце Dimension_names. Позднее мы увидим, как импортировать и просмотреть этот файл в виде куба в продукте IBM Cognos Insight.

Создание процесса TurboIntegrator

Для создания процесса TurboIntegrator выполните описанную ниже процедуру.

  1. В инструменте IBM Cognos TM1 Architect раскройте сервер TM1 (TM1 Server), с которым вы будете работать, для чего нажмите на знак '+' рядом с именем этого сервера. Затем нажмите правой кнопкой на строке Process и в появившемся меню выберите Create New Process.
    Рисунок 1. Представление Server Explorer инструмента TM1 Architect – сервер Planning Sample с подсвеченной опцией Processes
    Illustration 1: TM1 Architect Server Explorer - Planning Sample server with Processes highlighted
  2. На вкладке Data Source инструмента TurboIntegrator Process Editor оставьте для параметра Datasource Type значение по умолчанию None.
    Рисунок 2. Представление TM1 Turbo Integrator – вкладка Data Source – параметр Datasource Type имеет значение None
    Illustration 2: TM1 Turbo Integrator - Data Source tab - Datasource Type set to None
  3. Нажмите на вкладку Advanced, а затем на субвкладку Parameters. Добавьте в процесс TurboIntegrator два параметра (см. рис. 3), а именно:
    1. Parameter (Имя параметра): vDataDirectory
      Type (Тип): String
      Default Value (Значение по умолчанию): C:\Program Files\IBM\cognos\tm1\PlanSamp
      Prompt Question (Подсказка): The path of the Data Directory for the TM1 Server (Путь к каталогу данных Data Directory соответствующего сервера TM1)
    2. Parameter (Имя параметра): vOutputFile
      Type (Тип): String
      Default Path (Путь по умолчанию): C:\
      Prompt Question (Подсказка): The path for the output file SubsetCount.csv (Путь к выходному файлу SubsetCount.csv)
    Рисунок 3. Представление TM1 Turbo Integrator – вкладка Advanced, демонстрирующая пути к файлам и подсказки для задания параметров
    Illustration 3: TM1 TurboIntegrator Editor Advanced tab with file paths and prompt questions defined for parameters
  4. Скопируйте и вставьте следующий код в процедуру Prolog нашего процесса.
    #****Begin: Generated Statements***
    #****End: Generated Statements****
    
    # If the Allsubsets dimension exits then we delete it and again create it.
    
    IF(DimensionExists('AllSubsets')=1);
    DimensionDestroy('AllSubsets');
    ENDIF;
    DimensionCreate('AllSubsets');    
    
    IF(DimensionExists('Dimension_names')=1);
    DimensionDestroy('Dimension_names');
    endif;
    
    no_dimensions = DIMSIZ('}Dimensions');
    DimensionCreate('Dimension_names');
    DimensionElementDelete('}Dimensions','Dimension_names');
    
    dim_counter = 1;
    
    WHILE(dim_counter <= no_dimensions);
    dim_name=DIMNM('}Dimensions',dim_counter);
    
    # Skip the control dimensions 
    
    var1 = scan('}',dim_name);
    
    if(var1<>1);
    DimensionElementInsert('Dimension_names','',dim_name,'N');
    i=0;
    vFilenew='';
    compare='a';
    
    # Search for corresponding folder and .sub file for a dimension
    while(compare@<>'');
    
    vFile = WildCardFileSearch( vDataDirectory|'\'| dim_name | '}subs\'|
      '*.sub',vFilenew) ;
    result=fileExists( vDataDirectory | '\'| dim_name | '}subs\'| vFile);
    if(vFile@<>'');
    if(vFIle@<>'Default.sub');
    strlength=LONG(vFile);
    vSubsetfinal=DELET(vFile,strlength-3,4);
    DimensionElementInsert('AllSubsets','',vSubsetfinal,'N');
    
    endif;
    vFilenew=vFile;
    
    endif;
    if(vFile@='');
    compare='';
    endif;
    END;
    endif;
    
    dim_counter = dim_counter +1;
    END; 
    
    dim_counter=1;
    subset_counter=1;
    
    no_dim = DIMSIZ('Dimension_names');
    no_subsets = DIMSIZ('AllSubsets');
    
    ASCIIOutput(vOutputFile |'\'| 'SubsetCount.csv','Dimension_names','Subset_names');
    WHILE(subset_counter<=no_subsets);
    subset_name=DIMNM('AllSubsets',subset_counter);
    
    dim_counter_new=1;
    
    WHILE(dim_counter_new<=no_dim);
    dim_name1=DIMNM('Dimension_names',dim_counter_new);
    var_dim_name = scan('}',dim_name1);
    
    if(var_dim_name<>1);
    if(dim_name1@<>'AllSubsets');
    
    #If the subset exists for the dimension then write its name
    # in front of the dimension name in csv file
    if(SubsetExists(dim_name1,subset_name)=1);
    ASCIIOutput(vOutputFile |'\'| 'SubsetCount.csv',dim_name1,subset_name);
    endif;
    endif;
    endif;
    
    dim_counter_new=dim_counter_new+1;
    
    END;
    subset_counter=subset_counter+1;
    END;
  5. Дайте процессу TI имя и сохраните его. Нажмите на стрелку Run в инструменте TI Editor, чтобы в ручном режиме запустить процесс на исполнение. После исполнения этого процесса вы получите файл SubsetCount.csv с именами измерений в столбце A и с именами подмножеств в столбце B.
    Рисунок 4. Представление выходного CSV-файла с именами измерений в столбце A и с именами подмножеств в столбце B
    Illustration 4: View of .CSV output file showing dimension names (column A) and subset names (column B)

Импорт CSV-файла в продукт IBM Cognos Insight

Пошаговая процедура импорта CSV-файла в продукт IBM Cognos Insight

Существуют два способа для импортирования CSV-файла в продукт IBM Cognos Insight.

  1. Запустите продукт IBM Cognos Insight
  2. Перетащите CSV-файл на рабочее пространство продукта Cognos Insight.

или

  1. Запустите IBM Cognos Insight.
  2. Нажмите Get Data > Quick Import.
  3. Выберите CSV-файл в диалоговом окне Open File dialog.

В результате этих действий будет создан куб с двумя размерностями —Dimension_names и Subset_names. Кроме того, в рамах этого куба будет создан показатель Count, который подсчитывает количество подмножеств в соответствующем измерении.

Чтобы просмотреть подмножества для соответствующей размерности, перетащите две вышеупомянутые размерности из панели контента на рабочее пространство. Нажмите на Widget Actions Button для виджета SubsetCount и уберите флажок в контрольном окошке Listen to All Widgets. В результате вы получите представление со следующими четырьмя виджетами (см. рис. 5).

  1. Отчет с перекрестными ссылками, в котором перечислены имена измерений в сервере TM1 и указывается количество подмножеств в каждом из этих измерений.
  2. Графическое представление отчета с перекрестными ссылками в виде диаграммы.
  3. Измерение Dimension_names.
  4. Измерение Subset_names.

Если теперь вы выберете какое-либо измерение в виджете Dimension_names, в виджете Subset_names будут выбираться только те подмножества, которые присутствуют в этом измерении. Другие имена подмножества будут затененными (т.е. недоступными).

Рисунок 5. Представление продукта IBM Cognos Insight, демонстрирующее подмножества в измерениях сервера TM1
Illustration 5: View of IBM Cognos Insight displaying subsets per dimension from the TM1 server

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Information Management
ArticleID=877591
ArticleTitle=Проверенные приемы IBM Cognos: Создание списков всех подмножеств в каждом измерении сервера IBM Cognos TM1
publish-date=04242013