顯示具有 Cognos TM1 標籤的文章。 顯示所有文章
顯示具有 Cognos TM1 標籤的文章。 顯示所有文章

2012年11月4日 星期日

如何解決Unable to start service: OOXX services stop automatically if they have no work to do


今天早上USER通知我TM1的Data Server不能啟動。

原因是他在機器加了一個新的data server ,但是忘了改 tm1s.cfg 裡面的設定
後來USER修改 tm1s.cfg 時忘了先停止 data server 就直接改 tm1s.cfg 裡面的內容,結果再次啟動時就發生Unable to start service: OOXX services stop automatically if they have no work to do這個錯誤。

解法:
先去事件檢視器去看詳細的錯誤訊息,發現是 data server路徑DataBaseDirectory錯誤。
Goole了一下,發現是註冊檔的路徑與tm1s.cfg的DataBaseDirectory。

於是我就執行了以下的動作
1. Start => Run
2. 在cmd.exe輸入Regedit
3. 尋找HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
4. 找尋你的TM1 DataServer名稱。
5. 修改ConfigPath與tm1s.cfg的DataBaseDirectory一樣的路徑。

6. 在Service上啟動DataServer。
7. 搞定收工


參考網址


2012年10月25日 星期四

如何檢視TM1的Transacton log


1 . 點選指定的TM1 Server點選右鍵èView Transaction

2. 會彈出Transacton log Query 的視窗,選擇查詢條件後,點選OK就可以看到TM1Transaction Log
3. 檢視Transacton logLog檔顯示以下資訊
進行變更的日期和時間。
進行變更的用戶端名稱。
變更前的值。
變更後的值。
進行變更的 Cube 名稱。
識別已變更儲存格的元素。


參考網址:



ActiveX control (msmask32.ocx) could not be instantiated


今天想要試一下如何在檢視TM1 Transaction log,於是在Architect上點選View Transaction log,結果出現下列的錯誤訊息

ActiveX control (msmask32.ocx) could not be instantiated. Reinstall or register control again and try again.

OMG,當下真的想罵髒話,可是我是斯文人不可以這樣做。於是我就Google一下發現是缺少msmask32.ocx這個檔案,必須要重新註冊。
解決方法如下:
1.      請在這裡http://activex.microsoft.com/controls/vb6/msmask32.cab 下載檔案
2.      解壓縮msmask32.cab,將msmask32.ocx放置於C:\Windows\SysWOW64
3.      進入cmd模式
I.            CD C:\Windows\SysWOW64(我的OS WIN 2008 R2 X64所以是放在這個路徑)
II.         Regsvr32.exe msmask32.ocx

4.      重新在Architect上點選View Transaction log,就可以正常看到Transaction log的內容。


參考網址: http://www-01.ibm.com/support/docview.wss?uid=swg21469061

2012年10月24日 星期三

在TM1Web 上不能打開TM1 Worksheets

系統環境:
Windows Server 2008 R2 x64
TM1 10.0.1 x64
Office 2010 32bit

問題:今天在TM1Web 上打開Worksheet出現以下的錯誤訊息,Google一下之後發現是在特定的路徑下少了Desktop這個目錄。




解決方法:
在下列的路徑手動建立Desktop目錄
C:\Windows\SysWOW64\config\systemprofile\Desktop
C:\Windows\System32\config\systemprofile\Desktop


2012年10月21日 星期日

執行TM1 Perspectives時出現Run-time error '53': tm1xl.ocx file not found的錯誤訊息

系統環境:
Windows Server 2008 R2 x64
TM1 10.0.1 x64
Office 2010 32bit

問題:打開TM1的Perspectives 時出現錯誤,錯誤訊息為Run-time error '53': tm1xl.ocx file not found。如下圖:

解法:請下載Microsoft Visual C++ 2005 SP1 Redistributable Package並安裝即可。

參考網址:Blog of IBM Cognos TM1, BI, Express, BV, SPSS and other related stuff.

2012年10月19日 星期五

TM1 Troubleshooting 01

今天安裝完TM1時,啟動 TM1 Perspectives遇到以下的錯誤訊:


---------------------------
Microsoft Visual Basic for Applications
---------------------------
Compile error in hidden module:  Main.
This error commonly occurs when code is incompatible with the version, platform, or architecture of this application.  Click "Help" for information on how to correct this error.

我的VM環境如下:
OS :Win 2008 r2 64 bit
TM1 : 10.0.1 64 bit
Office : 2010 64 bit


經過上網查詢之後發現是TM1 : 10.0.1只支援Excel 2010 32bit的版本,於是把64bit 的Office移除後,再重新安裝Office 2010 32bit就OK了。

參考連結:Unable to open Perspectives: Error "Compile error in hidden module: Main"

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 檢視執行結果



搞定收工



2012年5月28日 星期一

使用TI將資料內容送入特定的Cube Cell中


FunctionThis function sends a numeric value to a cube cell

流程:建立一個參數P_Number要傳入Cube z_Test

程式碼:CellPutN(P_Number,’z_test’,’2012’,’3’);
結果: