顯示具有 TI 標籤的文章。 顯示所有文章
顯示具有 TI 標籤的文章。 顯示所有文章

2012年6月2日 星期六

如何建立Subset Part2

之前的文章有提到如何使用參數動態建立Subset,但是這種方法有一個缺點那就是Subset的Element只有一個,如果要達到Subset的Element有多個那該如何做呢?答案很簡單,那就是使用DataSourse讀取有紀錄Subset的檔案資料,並在TI的Metedata增加Element即可。

以下是我的作法:

Step 1  準備資料

Step 2 設定DataSource:選擇資料來源,設定第一欄為欄位名稱,在這裡欄位名稱為Mon並且預覽確定資料OK。

Step 3 設定變數:將DataType設為String,並在內容設為其他。

Step 4 在Prolog建立Subset
程式碼:
IF (SubsetExists('Months','This_Month')=1);
    SubsetDeleteAllElements('Months', 'This_Month');
ELSE;
    SubsetCreate('Months', 'This_Month');
ENDIF;




Step 5 在Metedata加入Element到Subset
程式碼:
SubsetElementInsert('Months', 'This_Month', Mon, 0);


Step 6 儲存並執行,接著檢視結果。


搞定收工。

2012年6月1日 星期五

如何使用TI建立Subset

在下是Cognos TM1的新手,礙於同事處理專案太忙沒時間帶我,所以我就自立自強了寫了這支小TI,未來每個禮拜六都會依專案內容來撰寫TI Code。


TI是Cognos TM1的ETL Tool,我們可以使用TI控制Cube的物件、匯入資料、建立Cube與Dimension等等,而TI中有許多非常好用的Function,這讓我們可以自己寫Code控制Cube的物件資資料,是一個功能非常強大的工具。




Step 1新增參數

Step 2在PROLOG中輸入以下程式碼

###Step 1
###This_Month Subset存在刪除This_Month Subset的Element,不存在就建立This_Month Subset
IF (SubsetExists('Months','This_Month')=1);
    SubsetDeleteAllElements('Months', 'This_Month');
ELSE;
    SubsetCreate('Months', 'This_Month');
ENDIF;

###Step 2
###給予Subset 指定的Element
SubsetElementInsert('Months','This_Month',p_Month, 1);


Step 3 儲存並執行TI


Step 4 檢視執行結果



搞定收工