?? cognos7學習筆記.txt
字號:
事務型數據源隨著每次生成PowreCube時度量值所需的新數據的變化而不斷發生變化 。事務型數據源在PowerCube創建過程中執行來提供度量值:
1.3 驗證類別唯一性,最大化數據訪問的速度
在數據源屬性頁上有兩個用于唯一性驗證的設置。默認的屬性設置為Verify Category Uniqueness。對于所提供的列與含有唯一層的維度中的層相關聯的數據源,推薦使用該項設置。通常這些數據源為結構型數據源。
如果設置為Verify Category Uniqueness并且Transformer 檢測到在一個標識為“Unique”(層屬性)的層上有兩個類別具有相同的源值,就會返回以下錯誤信息:
(TR2317) The level 'City' is designated as unique. Source value 'Green Bay' was used in an attempt to create a category in the path (By state,Illinois,Green Bay). 'Green Bay' already exists in level 'City' in the path (By state,Wisconsin,Green Bay).
(TR0136) A uniqueness violation was detected. The process has been aborted.
例如,State維度在City層上被設置為Unique:
該錯誤表示在City層下存在第二個Green Bay實例 (本例中為Illinois)。例如,如果您的源數據如下:
Measure, State, City
1, Wisconsin, Green Bay
2, Wisconsin, Appleton
3, Illinois, Green Bay
當在City層上沒有選定“Unique”時,維度視圖顯示為:
當在City層上選定“Unique”,過程會被中斷,維度視圖顯示為:
如果您確定模型數據源中的值被映射到層的唯一類別中,則可以設置Maximize Data Access Speed屬性。 當啟用該屬性時,唯一性驗證將會將到最低,數據源處理的性能將會提高。Transformer不會不停的對現有值和類別值進行驗證。這就意味著性能可以得到極大的提高。
警告! 如果啟用了Maximize Data Access Speed,而在數據中存在違反唯一性的問題,Transformer將不會通知您。會造成在PowerCube中產生類別丟失和值不準確的問題。
使用和上面相同的例子,如果啟用了Maximize Data Access Speed并且City層被設置為“ Unique” ,Transformer將不會通知您Green Bay存在于兩個不同的State(Wisconsin和Illinois)下,PowerPlay中的最終結果如下:
注意:上面的交叉表中不存在Illinois
如果刪除City層的唯一性并對立方體進行重建,PowerPlay中的最終結果為:
注意:當設定Maximize Data Access Speed 時,將不會執行唯一性的轉移(unique move)。
1.4 多服務器處理功能
如果生成PowerCube的計算機是雙CPU,您就可以利用多服務器處理的功能。啟用該功能可以大大提高數據讀取階段生成PowerCube的整體性能。
多服務器僅適用于以下數據源類型:
? Impromptu Query Definition (IQD)
? Delimited Field Text
? Delimited Field Text with Column Titles
該選項可以在Data Source屬性對話框中進行設置:
1.5 增量更新
如果創建整個立方體的條件不滿足,那么增量更新將是一種很好的解決方法。增量更新僅將最新的數據添加到現有的PowerCube而不會對以前的數據進行重新處理。與重建整個PowerCube相比,使用增量更新只會對很少的數據進行更新,而且更新的速度也會得到加快。
如果PowerCube的結構(維度、層等)為靜態,您只需考慮使用增量更新功能。如果發生了結構變化,必須使用所有數據重新生成立方體。
推薦您定期重建PowerCube。第一次建立立方體時,自動分區( Auto-Partitioning)功能可以將維度和層分割為多個分區層(partitioning level)。 在此之后所有新的類別將被加到 “0”分區層上。 如果隨時間的變化增加了很多類別,PowerCube用戶最終會遇到性能問題。使用所有當前類別重新生成PowerCube將允許Transformer設計出一種新的分區模式。下面的例子是每四次增量更新后進行一次完整重建的調度情況:
Build 處理行為
1 初始化加載
2 對build1進行增量更新1
3 在build 2上進行增量更新2
4 在build 3上進行增量更新3
5 在build 4上進行增量更新4
6 由初始加載和從增量更新1到增量更新4組成的完全加載
7 在build 5上進行增量更新5
8 在build 7上進行增量更新6…
1.6 設置Transformer環境
本節列舉出了在Windows NT上使Transformer獲得最佳性能所需考慮的設置 :
? WriteCacheSize: 根據可用內存的多少,寫緩存的值會對PowerCube的生成時間產生正面或負面的影響。當有足夠物理內存以至于磁盤緩存可以增加到和PowerCube一樣大小時,就可以獲得最佳得性能。
可以在Services - PowerPlay Data Services - Cache 下的Configuration Manager 中對該設置進行修改。默認值為 8192 (或 8MB)。要對其進行修改,可以使用1024為增量來增加該值的大小。在大型系統上將寫緩存增加到32768 (32MB) 或 65536 (64MB) 可以提高性能。然而,如果將其增加到非常大的值(例如102400 或數百兆字節) 會損害性能。
? SortMemory: 該變量可以設置對數據進行排序時所使用的可用物理內存。Transformer 對數據進行排序用于數據合并和自動分區。
所設定的數值代表在進行數據排序時所使用的2K區塊的數量。例如, 將值設為5120可以提供5120 x 2K = 10MB 的內存。默認值為512。 可以在 Services - UDA - General 下的Configuration Manager 中對默認值進行修改。將默認值設置為5120是一個不錯的選擇。
? TEMPFILEDIRS: Transformer 使用該設置用于臨時排序文件。在Transformer執行排序操作時都會創建該臨時排序文件。
可以修改Services - UDA - General 下Configuration Manager 中的地址。可以設置以分號分隔的多個目錄。
? MaxTransactionNum: Transformer可以在生成PowerCube的各個階段插入checkpoint。Maximum Transactions Per Commit設置可以限制插入一個checkpoint之前臨時保存的記錄的數量。默認設置為MaxTransactionNum=500000。所設定的值是向PowerCube提交修改之前Transformer將要處理的最大記錄數。可以在General 標簽下的Transformer Preferences對話框中對默認值進行修改。
如果在生成立方體時發生了錯誤(例如 TR0112 There isn't enough memory available) ,需要降低 MaxTransactionNum的值,這樣就可以加快提交的頻率并釋放磁盤空間。
可以將該設置增加到一個更高的數值 (例如800000) 來提高立方體的生成時間,其結果取決于環境。
主意:ReadCacheSize設置和Transformer無關,該項設置只針對PowerPlay Enterprise Server 和PowerPlay Client 。
1.7 參數設置文件
可以使用幾種參數設置,以下是最常用的參數設置:
? ModelWorkDirectory=<path>
當進行模型設計時設定創建臨時文件的位置。臨時文件用來在立方體創建過程中發生嚴重錯誤時恢復在戰略檢查點被掛起的模型。該文件的擴展名為QYI, 默認的路徑是ModelSaveDirectory設置的值。
? DataWorkDirectory=<path1;path2;...>
設定在生成立方體時Transformer創建臨時工作文件的位置。可以使用多個驅動器的能力可以消除操作系統所造成的大小限制。 當Transformer 創建立方體時,它可以將臨時文件寫入指定的驅動器或目錄。這些文件被連接到一個邏輯文件,而無需考慮它們所在的驅動器。這些文件的位置由您所設定的路徑列表來決定。默認的路徑為CubeSaveDirectory設置的值。
? DataSourceDirectory=<path>
對于除IQD文件和Architect模型以外的數據源文件,該設置可以指定Transformer搜索這些文件的位置。默認路徑是當前工作路徑。
? CubeSaveDirectory=<path>
指定Transformer保存立方體的位置。默認路徑為ModelSaveDirectory。
? ModelSaveDirectory=<path>
設定Transformer保存模型的位置。默認路徑為當前工作路徑。
下面是Transformer日志文件中有關這些設置的實例:
PowerPlay Transformer Wed Sep 19 09:39:17 2001
LogFileDirectory=c:\transformer\logs
ModelSaveDirectory=c:\transformer\models\
DataSourceDirectory=c:\transformer\data\
CubeSaveDirectory=e:\transformer\cubes\
DataWorkDirectory=d:\temp\
ModelWorkDirectory=e:\temp\
下面的例子顯示了如何在命令行中使用參數設置文件:
trnsfrmr -n -fc:\preferences.prf model.mdl
1.7.1 提示
? 在命令行設定參數設置文件的使用會覆蓋并優先于其它設置。 例如,如果在rsserver.sh文件中定義了環境設置,在命令行中使用參數設置文件將覆蓋這些設置。
? TMPDIR、 TEMP、TMP等環境變量可以定義Transformer在什么位置創建臨時文件。Transformer可以使用所定義的第一個環境變量。這些環境變量是操作系統定義的系統環境變量。
Cognos學習之六:前端與服務器參數傳遞
前端與服務器參數傳遞
Cognos的內容一般作為網頁中某一特定的幀或者一個新開的窗口來展現的。我們可以在外部統一的用戶交互界面中收集用戶遞交的查詢條件(一般用JSP實現),在檢查完用戶輸入的有效性之后,把這些參數按照Cognos約定的標準,以POST(或者GET)的方式傳到某一幀中的Cognos的網關。Cognos網關就會把用戶查詢的結果返回到該幀中。
根據后端服務器的不同(PPES和IWR),有兩種參數傳遞的規則。
調用PPES上的內容(CUBE\PPX)
主要用到的參數變量有
參數名稱 解釋
DC 報表的展示方式,Q為動態HTML,R為PDF
E 訪問內容在PPES上的發布位置
DM 需要過濾的維度Code值
FC 過濾的維度對應過濾值的category code
ZZ 表示參數傳遞結束
下面是一個接口調用的實例:
假設服務器名稱為:servername
ppx報表發布到enterprise server之后在enterprise server的根目錄下,名稱為:testreport
如果我們要對這個報表進行訪問,可通過如下url對報表進行調用:http://test/cognos/ cgi-bin/ppdscgi.exe?DC=R&E=%2Ftestreport
如果用戶要求訪問的是一個可動態分析的cube,那么相應的url為
http://test/cognos/ cgi-bin/ppdscgi.exe?DC=Q&E=%2Fcubename
其中:%2F是一個URL使用的轉意符,它的原型是符號“\”。
如果報表或Cube是發布于一個文件夾test中的,那么相應的url為:
http://test/cognos/ cgi-bin/ppdscgi.exe?DC=R&E=%2Ftest%2Ftestreport
通過以上的接口可以訪問到任意發布到Powerplay Enterprise Server的報表或Cube。如果要向報表或Cube傳遞過濾條件,可采用下面的調用標準。
例如在Enterprise Server發布有報表ICBC,該報表開放了四個傳參接口(Years,Products,Locations,Channles)。用戶可以選擇向其中的某幾個接口傳參。
如果選擇“Products”為“Outdoor Products”則調用
http://test/cognos/cgi-bin/ppdscgi....20Products&ZZ=X
其中&DM=Products //表示要過濾維度Products
&FC=0%09Outdoor%20Products //表示維度Products的過濾值
如果是過濾兩個維度,例如過濾“Products”和“Locations”則調用
http://info/cognos/cgi-bin/ppdscgi....1%09Europe&ZZ=X
其中&DM=Products%09Locations //維度間用%09分開
&FC=0%09Outdoor%20Products%091%09Europe //維度值從0開始標號
如果是過濾三個維度,例如過濾“Products”和“Locations”及“Channels”則調用
http://info/cognos/cgi-bin/ppdscgi....ndependent&ZZ=X
其中&DM=Products%09Locations%09Channels //維度間用%09分開
&FC=0%09Outdoor%20Products%091%09Europe%092%09Independent
//維度值從0開始標號
在每條Url后添加&ZZ=X,表示參數傳遞結束。
注意:維度名稱和維度過濾值都必須用各自的code屬性,而不是name屬性。
調用IWR上的內容
IWR接受參數的網關是/cognos/cgi-bin/imrap.cgi,接受的參數可分為兩類:
1) 報表參數:主要是指定IWR服務器,報表編號等
2) 條件參數:主要傳遞用戶的過濾條件。
報表參數有
參數名稱 解釋
RID 這是 Report 的序號,從 IWR Server Admin 中可以查到
IU 這是保留參數,固定取值 IMRAP
CD 這是報表展現方式,R 是 Run,V 是 View
PSRV 這是保留字符串,可以從任意報表的 URL 中獲得
條件參數一般根據IWR報表的用戶prompt來訂,一般需要和cognos PowerPrompts中Script Manager中的設定一致。
例如上面的Script Editor中<%GetUserVar(“t10”)%>,表示要向網關imrap.cgi傳遞條件參數t10,然后這個參數值會作為報表的Promptu值(通過語句SetPromptValue)來過濾報表的數據。
下面是一個IWR參數傳遞的例子,為了說明問題,用一個HTML來傳遞需要的參數,實際環境中,往往是用JSP動態決定需要傳遞的參數。
<html>
<!-- 將這個網頁放到安裝有 IWR 的服務器的 webcontent 目錄中,用 http://hostname/cognos/To_Report.htm 訪問之 -->
<!-- 當然,你得先把附送的 Reports 打個包發布到 IWR 中,并設置好 Powerprompts 的指向 -->
<!-- 然后看看那個報表的 RID,并把這個網頁中的 RID 參數改過來 -->
<!-- 通過 IE 訪問本網頁即可 -->
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<title>PowerPrompts Interface Demo</title>
</head>
<body>
<form name="mainform" method="POST" action="/cognos/cgi-bin/imrap.cgi"><!-- 提交到服務器上的 imrap.cgi -->
<!--下面幾個參數是 imrap.cgi 需要的變量 -->
<input type="hidden" name="RID" value="24"> <!-- 這是 Report 的序號,從 IWR Server Admin 中可以查到 -->
<input type="hidden" name="IU" value="IMRAP"> <!-- 這是保留參數,固定取值 -->
<input type="hidden" name="CD" value="R"> <!-- 這是報表展現方式,R 是 Run,V 是 View -->
<input type="hidden" name="PSRV" value="1-43434F46464545-8020-0-2F636F676E6F73-13-0--"> <!-- 這是保留字符串,可以從任意報表的 URL 中獲得 -->
<!-- 下面幾個參數就是在 PowerPrompts 中需要設置的報表中的 Prompts 的名字,在這里設置他們的取值 -->
<!-- 通過這個接口,就可以很靈活的設置每個 Prompt,不管用 ASP 還是 JSP,哪怕是這種普通網頁都可以 -->
<input type="hidden" name="OrderNumber" value="125"> <!-- 名叫 OrderNumber 的 Prompt 取值為 125-->
<p><input type="submit" value="點擊此處,可以看到結果。" name="B1"></p>
</form>
</body>
</html>
Cognos學習之七:服務器參數調整
Netscape Directory服務器調整——用戶認證服務器
1.調整性能參數,增大緩存和條目數。
圖表 1
圖表 2
2.添加索引
圖表 3
Upfront服務器調整——網頁內容瀏覽服務器
圖表 4
PPES服務器調整——OLAP展現服務器
1.調整Cube最大并發處理數量為8
圖表 5
2.調整報表最大并發處理數量為8
圖表 6
IWR服務器調整——明細報表和查詢服務器
調整所有隊列中的并發處理數量為8
圖表 7
安裝手冊
Part I 安裝 Directory Server
1.進入SunOne 的安裝目錄,運行Setup,選擇Install Sun One Directory Server。
可能會出現如下提示:
不會有影響,選擇Y,選擇Setup。
【Note:安裝之前情確認停止Smtp服務.】
2.在下面的操作中,選擇安裝畫面上iPlanet Servers 然后下一步,選擇typical的安裝方式,選擇安裝目錄。
3.選擇所有component。
4.選擇Port和Suffix的信息。
【Note:如果你的機器沒有主DNS后綴,那么需要手工完成合適的Suffix 并且記住Suffix的值,在以后的配置中會用到;如果Server上已經有了DNS后綴,那么SunOne 安裝程序可以自動填入正確地Suffix】
5.輸入正確地用來啟動iPlanet 控制臺的管理員的ID和Password。
6.輸入控制臺管理員需要管理的域名稱。
【Note: Administration Domain的名稱需要和Suffix的名稱相同 去掉’DC=’之后】
7.輸入正確的Directory Server根結點的用戶的信息。
!!!Alert:記住這些安裝時的信息,配置Cognos的時候需要用到這些信息。
8.選擇Next并且保持下面頁面的默認項,安裝完畢后需要重新啟動計算機。
Part II安裝Impromptu Web Report
【Note: 下文中以 IWR 代替 Impromptu Web Report】
1.運行安裝光盤上setup.exe,出現如下畫面:
選擇Install Cognos Impromptu Web Reports
2.在Software License Agreement頁面選擇Yes ,選擇Next,直到選擇安裝目錄頁面。
【Note :Cognos 只允許同一版本的產品裝在同一目錄下,如果以前安裝過同版本的產品,則目錄不可選,否則請選擇安裝目錄】
3.在Installation Type 頁面,選擇Custom安裝。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -