Cognos匯總


cognos學習筆記

第一部分 准備知識  概述 (p1)
    業務智能(Business Intelligence)
 近年來業務智能的話題開始在國內熱起來。
 業務智能是在計算機應用水平達到一定程度、數據積累到一定量之后提上議事日程的一個應用領域。
 業務智能是為更好的決策而對數據進行收集、轉換、分析和分發的過程。
 業務智能是把數據轉化成知識的過程。包括信息的獲取、分析和交流,幫助人們把獲得的有用的知識應用於業務。
    業務智能的層次:
 1.查詢與報表      →ReportNet  關心個體信息;
 2.多維分析(OLAP)  →PowerPlay 關心綜合信息;主要概念有:維度(Dimensions)、層(Levels)、度量(Measures)、立方體(Cube)、鑽取(Drill)、切片&旋轉( Slice&Dice )
        cognos基於業務智能的層次划分為ReportNet和PowerPlay兩個部分。
    Cognos8 的BI 產品:
 Cognos8的BI產品,對以往的技術和思想進行了較大幅度的提升和創新,把用戶的操作方式全面推向以瀏覽器為前端的Web方式。它在一個產品中、一個架構上提供了極其豐富的業務智能功能。
    Cognos8 的模塊主要包括:
 Query Studio  —— 查詢:自助報表生成工具
 Report Studio —— 查詢:專有報表構築工具
 Analysis Studio —— 分析:多維數據展示工具
 Transformer     —— 分析:多維數據設計工具
 Framework Manager —— 查詢:業務數據組織工具
    幾個模塊在Cognos體系中的位置:
 應用(Consumer) 中查詢模塊:Query Studio、Report Studio
 應用(Consumer) 中分析模塊:Analysis Studio
 專業(Profession)中查詢模塊:Framework Manager
 專業(Profession)中分析模塊:Transformer
    查詢與報表ReportNet:
 事先有原始數據庫,IT人員建好Project,用戶生成報表
        db-->{表-->Project-->包}Framework Manager-->發布-->{Query Studio、Report Studio}報表
    多維分析(OLAP)PowerPlay:
 平面數據源(dbf、.csv、.xls、.iqd)-->{模型(.mdl、.pyi)}Transformer-->生成多維立方體(.mdc)cube-->發布LdbFramework Manager-->Analysis Studio
    ReportNet:
 ReportNet是Cognos新一代基於Web方式的業務智能報表解決方案。
 ReportNet由下面幾個組件組成:
     Framework Manager: 用來組織和發布元數據模型              
     Cognos Connection: 是Cognos8的Web門戶,包含進入各個操作模塊的入口和報表保存的空間。
     Query Studio: 用來創建基本的自助式即席報表
     Report Studio: 用來構築更完備的常用特有報表  
     Cognos Viewer: 用來運行特有報表
    ReportNet體系結構:
 數據源(db、dw)-->元數據建模工具(Framework Manager)-->CognosConnection-->面向報表創建和管理的Web界面(Query Studio、Report Studio、Cognos Viewer)
    ReportNet 流程:
        物理數據庫『用戶業務數據庫GOSL、GORT(SQL Server、Oracle、DB2...)』-->數據庫連接『Data Source GoSales GoRetailers(Cognos Connection  http://)』-->輸入元數據『工程.cpf .xml;模型、命名空間、包-》發布(Framework Manager)』-->包『Content Store cm、指定Cognos Configuration』--》頁面(Query Studio、Report Studio、Cognos Viewer)
    Cognos Connection:
 CognosConnection是Cognos 8 的上網門戶。Query Studio,Report Studio和Analysis Studio的入口都被組織在了這個門戶中。
 進入門戶:http://〈服務器名〉/cognos8
 在CognosConnection門戶中可以:創建和運行報表;執行管理性任務,例如調度報表。
 可以通過在文件夾中創建和儲存條目來對Cognos Connection中的數據進行組織。
    Cognos Connection頁面:
 在公共文件夾或我的文件夾中觀看報表;
 在Query Studio或Report Studio中創建報表;
 在Analysis Studio中進行多維分析。
    報表:說明報表中包含何種信息的定義或報表信息本身。
 使用Query Studio創建基本的自助式即席查詢,使用Report Studio創建更完備的特有報表。

第二部分 Query Studio介紹 (p15)
    在Query Studio中創建自助式報表。
    選擇“包(Packege)”:
 使用Query Studio 和Report Studio操作報表之前都要先選擇一個“包”。
 “包”事先由技術人員在Framework Manager中打好並發布。
 進入門戶后可以看到已經發布的“包”。
 “包”中只含有數據結構而不含數據本身。
    Query Studio 界面:
        menu: insert data,edit data,change layout,run report,manage file
        edit data:filter過濾,sort排序,summarize,format格式,calculate計算,rename重命名
        change layout:chart,edit title,set web page size,set page breaks,group,pivot
 run report:run with all data,preview with no data,view in PDF/excel 2000/CSV/XML format,advanced query options
 manage file: new report,save,save as
    查詢主題和查詢項:
 模型是來自一個或多個數據庫的數據結構的業務展現。
 模型含有若干查詢主題(query subject),查詢主題包含一些能夠添加到報表中的查詢項(query item)。
 模型的數據內容來自Framework Manager發布的“包”(Package)。
        結構如下:模型-->查詢主題-->查詢項。查詢主題類似“表”,查詢項類似“字段”。
    Query Studio 工具欄 (p21)
        刪除、撤消、重做、運行、過濾、排序、匯集、計算、圖表、分組、交叉表、去分組、設段、交換、組收縮、組展開
    給自助式報表添加數據:
        方式有:雙擊(查詢項),拖拽(查詢項)、(選中查詢項)按Insert data。
    保存自助式報表:保存報表以保留任何修改。也可以使用不同名稱或地址保存報表,將其用作新報表的基礎。
    重新打開現有自助式報表:
 通過點擊報表的連接或Query Studio中的編輯按鈕打開Query Studio 中的報表。
 可以打開現有報表:察看報表中的當前數據,修改報表,將其用作新報表的基礎。
    了解報表類型:
 使用不同的報表類型以不同的方式察看數據或回答不同的業務問題。
 報表類型有:列表型報表,交叉表報表,分組列表型報表。
    了解圖表:
 創建圖表對信息進行圖形化展現。
 要生成一個圖表,報表需要至少一個度量和一個非度量。
    使用列表型報表顯示數據:
 列表型報表以每個數據行中的各個數據項形成若干列的形式顯示數據,列表型是最常見的報表形式。
    設置每頁行數和加行號:
 在菜單的Change Layout節可以設定每頁的行數(最大1000)。必要時可以加行號。
        menu-->change layout-->set web page size-->number of rows(設置每頁行數)-->show row numbers(加行號)。
    創建分組式列表報表:
        點選 “分組” 按鈕。
    修改數據格式:
 點中某列,在左邊菜單上選Edit Data節下的Format Data。
 menu-->Edit Data-->Format Data-->category(設置字段類型)-->number of decimal places(設置小數位數)-->thousands separator(設置千位分節號)
    多層分組的收縮與展開:通過 組收縮、組展開 按鈕控制。
        完全展開分組;分組收縮了一層;分組收縮了兩層。
    把分組列設成段(Sections):通過 “設段”、“去分組” 按鈕控制。
 選中設好分組的列后按 “設段” 按鈕,即可將該列設成段。選中設好分組的列或段,再按 “去分組” 按鈕可以把分組或段取消。
    按某列排序:
 選中某列后按排序按鈕,或在左側菜單的Edit Data節中選Sort。
        menu-->Edit Data-->Sort-->sort on (設置排序的列)-->sort order(排序列別:升序、降序、不排序)
    轉交叉表:
 在列表中點中一個文字列,按Pivot按鈕 (交叉表 按鈕),報表轉成交叉表形式。選中的文字列作為列,其他文字列作為行,數字列的數據在交叉點上。
    使用圖表對數據進行圖形化顯示:按“圖表”按鈕。
        chart type:圖表類型。選None可以去掉圖表。
 按Chart按鈕,可加入圖表。圖表種類可有:Column柱圖、Bar條型圖、Pie餅圖、Line折線圖、Column-Line柱線圖、Area區域圖、Radar雷達圖
 show the values on the chart(將數據值顯示在圖表上);
    設定一個圖表類型:在選擇一個圖表類型前,要考慮希望使用圖表來說明的內容。
 Pie:使用餅圖突出顯示比例,而不是實際值.
 Column:使用柱圖顯示數據隨時間所發生的變化。
 Bar:使用條型圖可以將重點放在比較值上,而不是時間上。
 Line:用折線圖分析多個度量。
 Column-Line:使用柱線圖在同一個圖表中比較兩個不同的度量。
 Area:使用區域圖顯示隨時間變化度量值的變化有多少。
 Radar:使用雷達圖比較度量放射線的半徑。
    增強圖表的顯示:在每一類圖表的內部又含幾個變種圖表。
 多列柱圖:用標准變種圖形通過不同顏色的數據標識區分每個度量
 多段柱圖:使用堆棧和變種100%堆棧圖形通過每個堆棧中不同區域的顏色區分每個度量值。
 3D柱圖:用3D顯示提高圖形的三維視覺效果
 多段等高柱圖:在100%堆棧中,每個堆棧的頂部代表100%。
    在非數字項上過濾:
 在列表中點中一列, 按Filter按鈕。過濾方法可以是選定(condition:show only the following),也可以是排除(condition:do not show the following (NOT))。
    根據數字項細節對數據進行過濾
 可以對報表細節行中出現的值進行過濾。這種過濾將清除不滿足所設定標准的細節行。
        針對細節數據,選中一個數字列(如:數量)作為當前列后,點開過濾按鈕。Filter on:當前列;condition:選中/排除;from:從什么;to:到什么;prompt every time the report runs 報表每次運行時增加提示功能;values in the report 應用於 細節數據;group summaries in the report 應用於分組數據;individual values in the data source 應用於非數字項過濾。
    組合過濾:combine filters 包含 detail(非數字項過濾 individual values in the data source),summary (數字項細節過濾 values in the report )
 在非數字項上過濾 與 根據數字項細節對數據進行過濾 的組合。
    根據組匯總(Group Summaries)過濾數據: (group summaries in the report 組匯總過濾:先匯總,再依據過濾條件選擇分組)
 可以對自助式報表中的腳標值進行過濾。這種過濾將從報表中刪除不滿足所設定標准的組。
    腳標匯總的種類:
 menu-->edit data-->summarize-->summary for footers: total 各種產品數量總數/ count 不同種類的類別數。
    單元格匯總的種類:
 menu-->edit data-->summarize(advanced)-->summary for cells:count 計數,summary for footers: total 計數后的求和-->summary for cells:maximum 最大值,summary for footers: maximum 最大值
    設定高級查詢選項:
 menu-->run report-->advanced query Options-->query options查詢選項:automatically generate footer summaries for measures 針對度量的自動生成合計頁腳,automatically summarize detail values,suppressing duplicates 自動合計明細值並過濾重復
            -->Drill options 鑽取選項:Enable drill up and drill down in the report output 在報表輸出時啟用向上/下鑽取功能,Enable drill through from a package in the report output 在報表輸出時啟用鑽通包。
    使用提示設定過濾標准:
 如果希望報表每次運行時臨時決定保留過濾項上的哪些值,可以使用提示。使用提示要比反復修改過濾更加快捷方便。
 prompt every time the report runs 報表每次運行時增加提示功能
    利用提示過濾(在嵌套層上加過濾):
 選中嵌套層上的“年份”,增加過濾條件,增加提示。
    刪除過濾項,但保留過濾:
 把已設過濾的數據項[訂單日期(年)]刪掉,出現Delete 屏幕,可以選擇在刪掉這一列但卻保留過濾。
 把已設過濾的數據項[訂單日期(年)]刪掉,出現Delete Filter屏幕,詢問是否希望在刪掉這一列時也把過濾刪掉。
 點擊No。[訂單日期(年)]列從報表中刪除了,但是按年過濾仍舊保持。
    創建報表視圖:
 點開一個報表后面的More…在隨即展開的頁面中點擊Create a report view of this report,可定義報表視圖。
    設置報表視圖選項:
 給報表視圖起一個名字保存到“我的文件夾”下。
 點開報表視圖后面的Run with options按鈕(運行按鈕),在隨即出現的頁面中再點開右側的Advanced options。
 Run with advanced options頁面出現后可以指定報表視圖的格式、生成時間等。
        Time生成時間:now即可,Later可自行設置生成時間。formats格式:html格式(可以設置每頁的輸出行數),pdf格式,execl 2000等。Languages語言設置。delivery交付設置:view the report now 立刻查看;save the report,print it,or send an email 保存、打印、發送郵件。
 設置好后按Run。
    查看報表輸出:
 設置確認后按OK。在“我的文件夾”點擊Refresh按鈕。報表視圖后多了一個View the output versions for this report圖標。點擊它可看報表輸出。
 此時列出設置中所選定的輸出類型。
    自定義組:
 選中一列后按Define Custom Groups,可在這一列上自定義組。可以把這一列上的某些值歸並到一起放入一個自定義的組中。
 選中一列-->menu-->edit data-->Define Custom Groups-->customization type定制類型:individual values非數字項值-->new group name 新的組名-->custom group values 組內成員-->available values 非組內成員(空閑值)
    自定義組在列表中展現:自定義組與本層的分組外“類別”和在一起作為新列出現。
    自定義組在交叉表中展現:轉為交叉表后自定義組只作為一列出現,自定義組的構成改變后報表中數據隨之改變。自定義組與本層的分組外“類別”分別作為新列出現。
    給自助式報表增加計算數據:
 使用計算功能給報表添加基礎數據源中不存在的數據項。??
 計算結果並不保存在基礎數據源中。每次運行報表時Query Studio會重新運行計算。??
 計算結果總是基於數據源中的最新數據。??
 可以在自助式報表中直接創建計算,或者添加來自package的預定義計算。
    計算的種類:Operation type
 Arithmatic數學計算:+(sum)、-(difference)、*(product)、/(division)、^(power)、Absolute value、Round、Round down、Square root
 Percentage百分比:%、% of total百分比、% difference (growth)增長率
 Analytic分析方法:Average平均值、Maximum最大量、Minimum最小值、Rank排列、% of total總計的百分比、Percentile、Quartile、Quantile
    加入計算:可以通過對一個或多個列中的數據進行計算,給報表添加計算值。
 點“計算”按鈕進入calculate頁面-->operation type操作類型:Percentage-->operation操作:% of total-->report item選擇報表中的用於計算的列-->options選項:基於全部的匯總和基於組的匯總-->expression表達式-->new item name 設置新的查詢項名稱
                                       -->operation type操作類型:Arithmatic-->operation操作:-(difference)-->order命令順序:收入-生產成本
    察看報表的運行歷史:點開More然后選View run history。
 可以選擇在后台運行報表,不用任何人去等待察看報表??
 你可能想要核實報表運行是否成功或者報表在后台的運行頻率,可以察看報表運行歷史來了解:??
     報表被請求的時間,報表的啟動時間和完成時間,報表執行是否成功。
    設置需要保留運行歷史的輸出版本數:
 點開More最前的按鈕,run history運行歷史/report output versions報表輸出版本:number of occurrences 保留操作記錄的版本數;Duration持續天數。
    察看多報表的運行歷史:
 1) 在門戶首頁Tools下拉列表中,選Schedule Management。
 2) 在Activity標簽頁選擇要應用的過濾選項。  last最后幾小時,from從什么時間,to到什么時間,scope范圍,status報表運行狀態
 3) 點擊Apply,顯示滿足過濾選項的所有報表和作業。
    分發自助式報表:
 可以將自助式報表分發給其它用戶,和他們共享信息,可以通過以下方式分發自助式報表:??
     將其保存在其它用戶可以訪問的地方,通過郵件發送給其它用戶,進行打印。
    保存自助式報表:
 可以通過將報表保存到其它用戶可以訪問的地方來共享自助式報表,例如“公共文件夾”。“公共文件夾”通常含有很多用戶感興趣的報表。
    通過電子郵件發送自助式報表:
 可以通過電子郵件發送報表,和其它用戶共享報表。
    打印自助式報表:
 可以對PDF格式的報表進行打印,獲得信息的硬拷貝。??
 如果計算機不可用或者想要將報表副本帶到會議上,可以對報表進行打印。
    調度自助式報表:
 可以對報表進行調度,使其在方便的時候運行,例如在非高峰時段,系統需求比較低的時候。??
 可以單獨調度報表或者使用作業。可以調度報表,使其每分、每時、每日、每周、每月或每年運行。??
 創建調度之后,報表或作業會在所設定的日期和時間運行。
    報表的定時調度:
 點擊Scheduler圖標(More的前一個按鈕)可具體設定調度事項。
    報表定時調度的設置:
 disable the schedule 禁用計划;frequency頻率:by day/by week/by month/by year/by trigger;options選項:formats格式/Languages語言/delivery交付方式;prompt values提示;start開始時刻;end結束時刻。
    報表定時調度的輸出格式設定:
 formats格式:html格式(可以設置每頁的輸出行數),pdf格式,execl 2000等。Languages語言設置。delivery交付設置:view the report now 立刻查看;save the report,print it,or send an email 保存、打印、發送郵件。
    新的報表輸出生成:
 達到一定的時間調度執行后按Refresh按鈕刷新,Actions欄下多出一個報表輸出圖標。點擊此圖標(運行按鈕之前),可按照預先設定的格式(如HTML, PDF)查看新產生的報表輸出。
    查看報表輸出:
 調度執行后點擊報表輸出圖標,可按照預先設定的格式(如PDF,HTML)查看新產生的報表輸出。
    用“作業”去調度執行多個報表:
 在“我的文件夾”工具欄上點擊New Job按鈕(第五個按鈕,兩個齒輪狀)。給作業起一個名字。在Select the steps頁面點擊Add,給作業添加報表。
    指定“作業”包含哪些報表:從“我的文件夾”中選中部分報表添加到作業中。
    “作業”的選項設置:
 steps下是已經加入到作業中的報表;點擊defaults for all steps下的set按鈕進入選項設置,還是設置格式、語言、交付方式等。
 在這里做的設置將適用於作業中的所有報表。
    “作業”的執行時間:
 作業的所含的報表及其輸出格式確定后,還要指定它的執行時間。可以定點一次性執行,也可以周期執行。
 action設置行為動作:save and run once保存並運行一次,save and schedule保存並調用計划,save only只保存;Time設置運行時刻;steps設置運行順序。
    察看和管理調度:
 可以使用Schedule Management工具察看和管理已經創建的調度。
 
第三部分 Report Studio     (p88)
    Report Studio是用來制作更加精細的專有報表的工具,專有報表的設計和運行兩個過程是分開的.
    進入Report Studio:在Report Studio中創建報表或修改報表.
    用Report Studio制作報表要先選擇“包”:
 管理員用Framework Manager將用戶的業務信息打成“包”並發布。發布后的“包”在CognosConnection 中的“公共文件夾”可以看到。
 報表作者在用Report Studio制作報表時要先選擇一個“包”。
    了解報表類型:?一個“包”之下的報表組織在若干個文件夾中,制作報表時要選擇一種報表類型,可以將不同的報表類型組合到相同的頁面上,可以使用預定義模板,或者從一個空白報表開始。??
 常見的報表類型有:List列表、Crosstab交叉、Chart柱狀、Repeater、Blank空白
1.Report Studio列表界面:
 insertable objects可插入對象窗格,properties屬性窗格,explorer條,工具條、標注區、工作區。
    Report Studio工具條:
 運行報表、查看表數據、開關鎖、視覺輔助、頂層、過濾、排序、匯集、分組、交叉表、分段、行列交換、頭尾區、組頭區、組尾區、插入表、合並單元格、拆分單元格、字體、背景色、對齊方式、提示頁、數據格式、穿透鑽取、幫助。
    新建列表:從左邊的查詢主題中選擇適當的查詢項加到右邊報表中,組織成列表的各個列。
 拖拽可以改變列的順序。
    屬性窗格和對象的從屬層級:
 在屬性窗格為報表中的各種對象設置屬性,大小對象之間可能存在從屬關系而形成從祖先到子孫的若干級,如:Page, PageBody, List, List Columns 等。
 在List 級的Data大項設置每頁行數
    按指定列設置分組:選中指定的列,按分組按鈕。
    改變分組的組跨度:properties-->data-->group span組跨度
 初始默認為僅在出現新國家時分組。可以改為出現新城市時開始一個新的分組
    加組表頭(Create Header):在已設分組的列上操作,從Table菜單選Create Header,刪去原有的分組列。
    設置字體屬性:點擊文本對象或列表的一列后在工具欄上點擊Font按鈕,或在屬性窗格中設置properties-->text item-->font & text-->font.
    具體指定選中的類型(如貨幣)的格式:data format-->format type:currency幣種-->properties屬性
    修改對象的屬性──按照某一列排序:properties-->fact item.sort屬性:sort descending屬性設置為降序排列-->data item.name對象名稱設置。
 屬性窗格可以讓你察看和修改對象的屬性。選中要排序的列,按排序按鈕。
    在指定列上加匯集:選中一個列后按工具條上的Aggregate按鈕或改屬性窗格的Fact Item大項下的Aggregate Function
 List Cell─Font&Text選擇左右對齊方式,匯集(Aggregate)展現。
    兩級排序:報表在“產品系列”上分組,“收入”按照“產品系列”的總和升序排序,“數量”按照報表的細節項降序排序。

2.Report Studio交叉表界面
    定義交叉表:行、列、度量各自選好(可以嵌套),並對度量設置了匯集。
    查看交叉表:點擊“交叉表”按鈕。
    交叉表的靈活演變:通過拖拽個功能,更改交叉表的布局。

3.Report Studio圖表型報表界面 (p120)
    insert chart-->chart group圖表大類-->chart type具體類型
    確定圖表中各項的位置: measures區:每個扇形區的度量值。pie slices區:扇形的分類依據。pies區:餅圖的分類依據。
 圖表展現──按訂購方法切片(分餅圖),按產品系列分扇形區,每個扇形區代表的度量值是收入。
 行列交換后,切片與分扇依據進行交換。
    餅圖顯示百分比:properties屬性界面,chart labels組,values:outside slices,values representation值的表述:percent.
    改為柱狀圖:
 點中圖表的背景區后點鼠標右鍵,或從Structure菜單下選Convert Chart(轉換圖表),可以把原圖表改為其他類型。
    定義柱狀圖:   measure:定義y軸的度量值。series:定義柱子的集合(對比值)。categroy:定義x軸。
    儀表盤(Gauge)型圖表:  measure區:指針對應的度量值,needles(series):每個盤上指針的集合,gauges:儀表盤的集合。
 儀表盤的分區顏色:properties屬性界面,gauge chart儀表盤型圖表, color & background組,gauge Palette按鈕頁面,Palette type:discrete colors不連續的顏色、continuous colors連續的顏色,percentage百分率,然后給每個分段選擇顏色。
    Repeater(重復)類型報表:在重復表的工作區插入一個表 (Table),並指定表的行列數。
 重復表的每個表格都有1列7行,這是一個每頁2欄3段的重復表。
        在properties屬性界面,repeater重復表, general組下:repeater direction重復方向,across欄(列,豎排),down段(行,橫排)。

4.過濾  (p133)
    准備對報表數據進行過濾:
    細節過濾:設過濾的數據項如果沒有出現在報表中(如:日期),就只能通過DetailFilters去設過濾。信息取自數據包。
 filters-->detail filters-->add-->[expression definition]
    匯總過濾:設過濾的數據項如果已經出現在報表中(如:國家),就可以通過SummaryFilters去設過濾。信息取自報表。
 filters-->summary filters-->add-->[expression definition]
    修改某一列的表達式:properties-->list column body-->data item-->expression
    兩項合並后:修改列的表達式,把“名”和“姓”合並到一起。
    在過濾表達式中加輸入參數:  expression definition: [姓名]=?Name?報表運行時要求輸入一個銷售代表的姓名
    在匯總數據上過濾: 這里顯示的“收入”是每個銷售代表的總收入,而不是單筆收入。現在我們要在總收入上進行限定,只保留總收入在1,000,000以上的那些銷售代表的數據。我們要設的是在匯總數據上的過濾。
 Filters-->Tabular Filters-->application:After aggregation匯總后過濾。

5.聚合和穿透鑽取   (p145)
    腳標區的聚合方式:決定的是每個分組腳標區中的匯總是按什么方式匯總。
 properties-->list column body-->data item-->rollup aggregate function:total總數(合計)、average平均值
    單元格的聚合方式:決定的是逐條顯示還是歸並顯示,以及歸並按什么方式歸並。
 properties-->list column body-->data item-->aggregate function:none逐條顯示、total歸並顯示.
    報表間的穿透鑽取(Drill-through):穿透鑽取是在粗細兩個報表之間建立一種關聯,可以實現由粗看細。
 從概要報表鑽取到細節報表,察看感興趣的細節信息。在概要報表中選擊一個國家代碼,打開另一個細節報表,只顯示該代碼所代表的國家的細節數據。
    創建一個Drill-through報表:
 通過給子報表增加一個參數和一個從父報表到子報表的drill-though連接來創建一個drill-though報表。
 打開細節報表-->加入一個連接參數-->打開概要報表-->創建一個到細節報表的drill-through連接。
    定義穿透鑽取:
 選中一列后點穿透鑽取按鈕,新建一個穿透鑽取,report:指明穿透鑽取到哪個細節報表,parameters:如何傳遞參數.
    穿透鑽取的傳遞參數:
 穿透鑽取定義在“國家/地區代碼”上,而傳遞的參數可以換成它對應的“國家/地區”。
 parameters-->name:細節報表上已經在“國家/地區”列上定義了一個過濾參數-->method:選擇傳遞數據項的值-->[國家/地區]=?country?
    穿透鑽取效果:概要報表中設穿透鑽取的數據項加上尖括弧和下划線,前面還多了一個穿透鑽取標志。
    報表數據過濾(表級):點Filters按鈕-->tabular filters-->選中列,定義表達式,查詢范圍通過參數傳遞
    運行報表時要給定日期參數值:提供指定日期:僅檢索顯示訂單日期晚於指定日期的訂單數據。

6.復雜報表    (p155)
    復雜報表:在Blank報表中先加一個表格,這個表格有1行2列左右兩個格子
 insertable objects-->table-->table size
    插入列表:在左格子中放一個列表,給定查詢命名
 insertable objects-->list-->based on-->new query:List
    插入圖表:在右格子中放一個圖表,給定查詢命名
 insertable objects-->chart-->based on-->new query:Chart
 選定一種圖表:insert chart-->column即選定的圖表為柱圖。
    復雜報表的三個區域:左格為列表 右格為圖表,打算在整個表格下方再插入一個交叉表crosstab
    頁表頭header:先加一個頁表頭,在頁表頭區域中再插入一個Block.在頁表頭的Block中可以插入Text Item並輸入文字.
    用圖形和數字兩種形式顯示同一組數據:先做一個圖表,填好數據項。再拖入一個交叉表,把它的查詢改為Query1,即使用上面圖表的查詢。
    同一查詢中的數據項在另一種形式中對應:轉到“可插入對象”窗格的“Data Items”標簽頁,在Query1查詢下,把已做好的圖表的數據項對應拖入交叉表的相應位置。

7.參數和提示:  (p165)
 參數是一個占位符,它的具體值需要臨時接收。??
 參數的值通過“提示”來接收。建立提示時要定義參數。每個參數具有一個名字。??
 提示利用參數值形成過濾表達式。??
 提示有多種類型。
    值提示value prompt:值提示在可插入對象窗格的“工具箱”標簽頁中
 在報表中拖入一個值提示。這個提示將給出一個供選擇的下拉列表,列出某個數據項上可能出現的值供用戶選擇。
 在提示中要定義一個參數,用戶選擇的值由這個參數來接收。
 提示定義了一個包含參數的過濾表達式,利用參數接收的值對指定數據項進行過濾。
    提示的過濾表達式:Query2[產品系列代碼] = ?Parameter1?
 提示的下拉列表中列出的可以不是[產品系列代碼] ,可以換成對應的[產品系列]的名字。
        values to use使用值,values to display顯示值,cascading source級聯數據源。
    提示按鈕prompt button:
 從工具箱中拖一個“提示按鈕”進報表。把提示按鈕的類型改為“Reprompt”。
 這樣每次更換參數值時不必重新運行報表,只要按這個按鈕即可。
 “提示按鈕”的類型:Cancel,Back,Next,Finish,Reprompt
    帶值提示的報表運行:
 盡管提示的過濾表達式中使用的是[產品系列代碼] ,但此處展開提示的下拉列表看到的卻是“產品系列”的名稱。報表已按照“產品系列”過濾。
 要想通過提示選擇其他值,只需選后按一下“重新提示”按鈕。
    加入“選擇和搜索提示” select & search prompt:
 分兩步進行:先按某種搜索規則確定一個選擇范圍,然后再選擇。
    “選擇和搜索提示”的參數和表達式:
 在提示中要定義一個參數,用戶選擇的值由這個參數來接收。
 提示用參數值定義一個過濾表達式,對指定數據項的值進行過濾。[產品系列] in ?Parameter1?
    確定提示的查詢名以及它的使用值和顯示值:
 prompt wizard-->create new query-->name查詢名-->values to use使用值-->values to display顯示值
    拖入提示按鈕並指定它的類型:
    “選擇和搜索提示”的運行:先按某個關鍵字搜索出一個選擇范圍放在“結果”框中。然后在這個范圍中再進一步選擇。
    增加提示頁:點工具欄上的Build Prompt Page 按鈕增加一個提示頁面,在它的工作區中拖入一個Value Prompt。
    定義提示的參數名和過濾表達式:
 在這個提示頁中建立一個值提示,它通過一個參數來接收若干值,即若干國家的名字。
 [國家/地區] in Parameter1 提示中的參數名
    運行中的提示:
 報表運行時首先彈出提示頁面,值提示在提示頁中而不是在報表頁中.
    級聯提示及其行為模式:
 Cascade Source指向級聯提示的上一層。Auto-Submit決定是否需要按“完成”按鈕提交。Multi-Select確定單選還是多選。
    利用文本框提示過濾數據:
 我們希望在報表中只保留收入在某一個指定區間中的數據行,先加入一個提示頁,在提示頁中加入兩個文本框提示,用它們分別接收數字區間的下限值和上限值。還可以加入起說明作用的輔助文本項
 文本框提示Text Box prompt:可以在文本框提示中輸入參數值,並按照該值形成過濾條件。[訂單].[收入] >= ?N1? [訂單].[收入] <= ?N2?
    提示頁面與報表頁面的切換:光標移動到探察條上的Page Explorer區域,可以展開一個水平伸展窗口,在此可選擇瀏覽報表頁面和提示頁面。
    指定在匯總數據上過濾:回到報表頁看過濾器,把這兩個過濾條件改設在匯聚后的數據上。
    Text Box prompt 的運行和結果:運行時在兩個文本框里各自輸入一個數,確定一個過濾的數字區間。

8.條件格式    (p187)
    加入字符串變量:在Condition Explorer點中Variables,拖拽左側String Variable到Variables框中??
    寫入變量表達式:在彈出的Report Expression窗口中輸入變量表達式,給定變量的條件。??
    字符串變量命名:屬性窗格Miscellaneous大項Name小項:給變量命名??
    為字符串變量賦值:在Condition Explorer 為變量加入幾個與表達式一致的值??
    將特定數據項與字符串變量綁定:選中要設條件格式的數據項,屬性窗格Conditional大項Style Variable小項:選擇一個字符串變量??
    為變量的不同值分別指定具體格式:選中數據項后在Condition Explorer中選變量的一個值,為它指定格式。

    條件格式:加入字符串變量
 在Explorer Bar上指向Condition Explorer, 點擊Variables
    寫入變量表達式:
 properties-->Variable-->report expression-->available components變量組件-->expression definition:if (>) then .. else if (<) then ..
    字符串變量重新命名:properties-->Variable-->miscellaneous-->name:revenus_high_low
    字符串變量賦值:Variable-->values  注意大小寫,要與變量表達式一致
    將特定數據項與字符串變量綁定:properties-->list column body-->Conditional-->Style Variable:字符串變量
 把數據項“收入”綁定在字符串變量“Revenue_high_low”上,在屬性窗格“Conditional”大項“Style Variable”小項處綁定
    為變量的不同值分別指定具體格式:選中了字符串變量的一個值后,Explorer 條的底色就變成了綠色。可針對該值具體設置格式。
    條件格式展示:
    加入計算(條件語句):加入一列,有條件地決定它的內容。
 insertable objects-->layout calculation,在屬性頁面設置條件語句。
    條件語句:拖入Layout Calculation后會自動彈出Report Expression窗口,在此輸入條件語言。形如:
 if (條件為真) then (表達式) else (替代表達式)
    條件語句效果:可以修改這個計算列的列標題(text source-->text);還可以把條件格式的效果加到這一列上。

9.語言變量     (p198)
??創建一個語言變量:在Condition Explorer 點中Variables,拖拽Report Language Variable??
    為語言變量選擇語言並命名:為語言變量選擇幾組語言,每組含若干種同類語言;屬性窗格Miscellaneous大項Name小項:給變量命名??
    把一段文字綁定在語言變量上使其成為條件文本:選中一段文本,屬性窗格Conditional大項Text Source Variable小項:選擇一個變量??
    為條件文本設置每組語言的顯示內容:在Condition Explorer 中的語言變量下逐一選擇不同的語言(組),為條件文本分別輸入不同語言下的具體文字內容。??
    以不同的語言運行報表:展開Run Report按鈕旁的下拉列表(運行按鈕下來列表),選Run Options;在Language欄下選擇語言。

    布爾變量應用:構築一個報表,其中含有“產品編號”和“產品名稱”兩項。可以通過一個布爾變量來決定是否要顯示出“產品編號”這一項。可以只顯示“產品名稱”而不顯示“產品編號”;也可以把“產品編號”和“產品名稱”都顯示出來。
    布爾變量設置思路:參數用於接收提示的值,這個值決定了布爾變量的真假狀態,布爾變量的狀態決定了指定的數據列是否顯示
 建一個參數,用於接收值提示的值:在提示頁中加一個文本項,寫上“要顯示‘產品編號’嗎?”;在提示頁上加一個值提示,接收值的參數名字為‘Para1’。??
 在值提示上加一個布爾變量,值提示參數決定其真假狀態:設置值提示的屬性:Data大項,Static Choices小項,新建布爾變量;給定布爾條件:ParamDisplayValue(‘Para1’)='要';分別給定布爾變量真與假的Use值和Display值??
 把指定列與布爾變量綁定,由布爾變量決定該列是否顯示:指定報表中一列,將其選中;屬性Conditional大項Render Variable小項,選擇一個布爾變量??
    建立布爾變量要用的值提示:在提示頁中加入一段說明文本(text item);在提示頁中加入一個值提示(value prompt);值提示的接收參數名為Para1(create a new parameter);
    為值提示建布爾變量:參數的值通過值提示來接收。
 建一個布爾變量,它的真假狀態取決於提示的接收參數:ParamDisplayValue('Para1')= '參數接收的一個可能的值'
?? properties-->value prompt值提示的對象屬性-->data大項-->static choices小項(在此建布爾變量)
    布爾變量的表達式:
    布爾變量真與假的Use值和Display值:
 布爾變量有兩個固有的值Yes和No,對應真假兩種狀態。
 讓接收參數可以接收“要”和“不要”兩種值,按照布爾變量的表達式對應成“真”與“假”兩種狀態。
--204

10.為Query Studio設模板 (p231)


第四部分 Analysis Studio (p255)
1.簡介  
    Analysis Studio是Cognos 8 業務智能(BI)分析解決方案中的OLAP 分析軟件,它繼承了之前的Cognos PowerPlay?的多維分析和報表功能。
     用Analysis Studio可以快速輕松地開展多維分析的工作;高效訪問並分析大型數據集,並確保可獲得快速的響應;長期察看趨勢;分析並探察問題;鑽取到細節並在維度或信息層之間轉移。
     Analysis Studio通過向下鑽取、切片和切塊、排名和排序等傳統的多維分析功能,簡化了大型數據集的復雜分析流程。
    多維分析是要經過幾個階段組織多維數據進行分析的過程,即在線分析處理(OLAP)的過程。在分析業務時通過維度探察度量。
 從查看數據的角度,可以:快速查詢;將維度和度量相結合;獲取大范圍業務問題的答案。
    立方體是一個多維數據的存儲結構,它提供:源數據的訪問,數據的快速查詢。
    維度:是一個與業務相關的透視圖或觀察角度,依賴於數據的有效性和表達業務成效的關鍵性能指標(KPI),能夠回答類似下列問題:誰(主體)在何時(時間)何地(空間)做什么(動作)。
        維度的全集是:某人於某時某地做了某行為,依據某資料,產生某結果,其中貨幣可能在資料與結果中雙向流動。
    度量:度量用於監測和評估企業成效,企業收集和存儲的將用於評價業務狀況的數值性數據。
 在企業活動中通常是通過如銷售額、費用、業務指標、庫存量和定額一類的關鍵性能指標(KPI)------度量來監測業務的成效。
    多維數據是按着直觀和貼近業務規則的方式組織起來的數據。被組合的數據能夠探察和回答與業務有關的問題。通過從多個角度探察數據,能確切地發現其內部的某種趨勢和某種信息。
 為了反映業務的組織結構,多維數據是按級分層(Levels)構成維度,而每一層則是由類別(Categories)組成。最高層是對數據的概括性說明,以下的各層依次表示比其上一層更詳細的數據。如:日期(時間)維度分層為:年、季度、月...
    多維數據的構成:在多維數據中,業務維度是我們在報表中要分析的業務的核心成分或者種類。度量就是位於這些維度的交叉點上的數值。業務維度是數據結構的基礎,為數值項或度量提供業務背景。
    維度與度量的關系:一個多維空間的數據集合可以被想象成一個數據立方體。每個維度是多維空間的一個坐標軸,每個坐標軸上都有代表維度數據的刻度,各個維度的每個交點上的數值就是度量。    
 在分析多維數據時,通過變換數據的角度,即改變數據的維度來探察數據,能夠確切地發現其內部的某種趨勢和某種信息。
    維度結構:維度和層。層在維度內部的層次結構中表現了其確定的級別。類別是在維度中層上的數據項。類別是各維度每層中數據的具體取值(如:時間是維度,年是層,2011年就是類別)。
 下層類與上層的某個類有父子關系。

2.報表制作(p275)
    用Analysis Studio 完成多維分析和探察大數據源的工作.
    探察分析的工具:探察路徑完全按維度層次的定義進行,用向下鑽取(Drill Down)、切片和旋轉(Slice and Dice)以及改變顯示方式來探察數據。
    向下和向上鑽取( Drill Down & Drill Up):向上和向下鑽取可以迅速從一層轉移到另一層,以探察業務的不同詳細程度,察看各層信息的關系。向下鑽取得到更詳細的類別,向上鑽取可觀察上層更綜合的信息。直接點擊或用鼠標右鍵選,點擊表頭或單元格。
    切片和旋轉可以改變和重新安排報表的主顯維度,它提供了觀察數據不同的視角。通過拖拽一個新的維度到顯示區來完成切片和旋轉。
    切片和旋轉是切換維度或維度中的類來查看數據的過程。
    通過添加上下文,可以增加分析數據的角度。
    過濾報表可以把注意力集中在一個指定的范圍內。過濾種類:抑制零過濾,行、列和上下文過濾,最高或最低過濾,排除過濾,自定義過濾
    抑制零過濾:提供快速排除行列無值的方法;可用於行或列,或兩者同時;可選擇抑制空或零,或兩者;可根據需要選擇抑制零過濾的應用范圍。
    行、列和上下文過濾:提供用維度數據過濾報表的方法;可用於行、列或上下文。
        在行、列和上下文處可對表中數據過濾。上下文過濾:在所選擇的一個或多個項的上下文中顯示行和列的值。
    最高或最低過濾:
 最高/最低%:選擇所指定百分比的累計項. 如,哪些產品的銷售收入占總銷售收入最高的10%
 最高/最低Σ:選擇所指定值的累計和項. 如,哪些產品的銷售收入成為第一個一千萬
        最高數量是按降序排列,最低數量是按升序排列;顯示指定數量的項目成員;下例表示,按訂購日期排序,銷售收入排在前或后3名的客戶
 最高%是按降序排列,最低%是按升序排列;將建一個%計算(在后台)。下例中為了清楚數據關系,對全部客戶按訂購日期建一個%計算 為得到最高銷售收入的客戶,將檢索所有客戶直到匹配或超出設定的%
 最高Σ是按降序排列,最低Σ是按升序排列;將建一個累加計算(在后台)。為得到最高銷售收入的客戶,將檢索所有客戶直到匹配或超出設定的合計。誰是給我們帶來最先50萬銷售收入的最好的客戶類型,將返回占銷售收入59萬的流行銷售型誰是給我們帶來最先120萬銷售收入的最好的客戶類型,將返回流行銷售型(59萬)+大眾市場型(56萬)+獨立商家(34萬)
    排除過濾:排除可以選擇性地清除所選中的項。排除和隱藏可以被恢復。
    自定義過濾:自定義過濾可以在更多的指定條件上分析數據。

    數據排序:排序提供了快速了解什么是重要信息的方法,包括:選擇值排序,選擇標簽排序
    自定義排序:按度量排序。
    計算:分為小計、匯總、計算。
 小計:可視項、其它和隱藏項、包括、排除、合計(僅顯示小計)。用小計設置是否顯示被排除或隱藏項等項
 匯總:用於所有成員的匯總計算,總和、平均值、最大值、最小值、中間值、方差、標准偏差、計數。
 計算:排名、占合計百分比、常量、算法、分析、%差值(增長%),自定義計算。
    自定義計算:自定義計算中的操作類型分為:算法、百分比、分析、評級、常量。
        算法包括:加、減、乘、除 、次方、絕對值、取整、開方等數學運算。      
        分析包括:平均值、最大值、最小值、中間值、累計值等。
 評級包括:排名、百分數、分位數、四分位數等。
    排名分為:縱向排名(在一個集合中的所有項的排名)和橫向排名(在一個集合中的每一項的排名)。
    組合計算:(流行銷售型/(流行銷售型+大眾市場型+獨立商家))%

3.數據加工 (p326)
    一個集合是基於一個層次結構的一些相關項數據的組,一個集合基於一個項和緊接它的明細。
    層的集合是基於一層的數據集。
    選擇集合是經過選擇的單個項的集合。在同一個層次結構(樹)中一層或多層上挑選的一些成員。
    度量集合是由一個或多個度量組成。度量集可以放在行或列上。
    定義子集:在工作區中保存集以便將來使用或與另一個集進行比較;自定義集保存到--》可插入對象窗格的分析項目選項卡中。

4.交叉表的布局   (p332)
    基本布局:一行一列。
    組合維度:兩行一列,一行兩列,兩行兩列(兩 可以是多)
    嵌套維度:兩行(一嵌一,父子關系)一列,一行兩列(一嵌一,父子關系),兩行(一嵌一,父子關系)兩列(一嵌一,父子關系)(兩 可以是多)
    非平衡嵌套:兩行(一並一,平行及父子關系)兩列(一並一,平行及父子關系)
    搜索對象的應用:
    添加標題:查看--》屬性窗格--》新建--》報表選項--》標題。

第五部分 Transfomer模型設計       (p339)
第一章 開始  (p340)
    模型設計的本質:模型設計的好壞主要取決於業務數據的規范和對業務數據及其關系的理解。
    Transformer 是用於整合數據源數據和建立模型的工具
    數據建模的過程:用戶需求--》數據--》模型--》視圖(展示)根據最終應用的目標和特性,建立一個成功的PowerCube
    從模型到PowerCube:1. 輸入數據源 2. 建立和檢驗度量  3.建立和檢驗維度和層 4.創建和測試PowerCubes
    PowerCube是:多維數據的邏輯結構和物理結構;由Transformer模型生成,並用於在PowerPlay中查看和操作的數據包。

第二章 規划模型設計  (p345)
    維度:是一個與業務相關的觀察角度,依賴於數據的有效性和表達業務成效的關鍵性能指標,能夠回答類似下列問題:who?what?where?when?
    Transfomer將業務的每個方面構造成一個維度,所有維度在一起提供了業務的多維視圖。這個多維視圖的數據被存為一個立方體。一個維度下設有若干層,例如:時間維度由年、季度、月構成。
    度量是用於評價業務狀況的數值型數據。在企業活動中通常是通過如銷售額、費用、庫存量和定額一類的關鍵性能指標------度量來監測業務的成效。
 不同的度量反映出不同的業務性質。度量之間相互獨立。度量是業務量化的表示。PowerPlay可以監測任何能夠用數值表示的業務的成功因素。
    PowerPlay 多維分析──多維交織
    模型設計:
 一個模型設計是關於PowerPlay應用結構設計,以及數據需求方案的文檔。其作用是:幫助明確用戶需求;幫助評估開發應用需要的工作量;把應用設計的目標提供給最終用戶,以得到對該設計的認可和肯定;作為應用開發過程的指南。
    Transformer中的模型設計
       Transformer界面包括四個基本窗格:維度圖窗格,數據源窗格,度量窗格,PowerCubes窗格
    數據源窗格:
 數據源(Data Sources)窗格的作用是將數據集成到模型中來。根據模型設計文檔,從能夠支持應用的數據倉庫及數據庫中確定要查詢哪些數據,並將它們加載進數據源窗格。然后再將數據源窗格的數據用於建立維度圖,並創建PowerCube。
 在數據源窗格中可以有一個或多個數據源,每個數據源來自於一個數據源文件(例如.iqd等) ,每個數據源都有自己的數據源名。每個數據源由構成它的若干列(Columns)組成。這是做模型的原始基本素材。
 數據源窗格中列的數據類型:打開列的屬性(雙擊列名)--General標簽頁--Data class;如果數據源不是來源於.iqd,則它的列的數據類型開始為Unspecified(未指定)。
    維度圖窗格:是一個用於建立多維立方體結構的工作區。根據數據源中的文本數據,各個維度以及每個維度下層的設定在此組織(維度和層)。最底層要對應數據源窗格中的一個列。維度圖決定了數據在PowerPlay維度欄中出現的順序。
    度量窗格:用於建立和顯示模型所需要的度量。度量值是在PowerPlay報表單元中可視的數據。根據模型設計文檔,定義應用中需要的度量。度量在度量窗格中的順序決定了它們在PowerPlay維度欄文件夾中度量的順序。
              模型中至少要有一個度量,度量與維度的最底一層關聯。每個標准度量要在數據源中對應有一個列(計算度量除外)。
    PowerCube窗格:顯示用模型創建的PowerCube。
    度量:定量評估業務成效的結果;主要說明數值性問題,如“多少?”;每個度量都增加了對數據的觀察角度;要建立PowerCube必須至少要定義一個度量。
 雖不是所有的業務指標都要包含在模型設計中,但應盡量尋找增添一些追加度量,因為用戶提出的需求並不一定總能對數據分析提供完全有效的結果。通過增加這些新的度量,用戶可以用不同的方法分析數據。
    追加維度:who,how
    層(Levels) 和類別(Categories):
 數據被組織進各個維度,並放在相應級別的層里。類別是各維度每層中數據的具體取值。下層類與上層的某個類有父子關系。
 類別在PowerPlay報表中出現在行、列的表頭上。
    維度、層和類別的關系: 維度是一個觀察方向,層是該觀察方向上的細分,類別是某個層的取值集合的元素。

    作模型設計時,選好要說明的業務領域:選定能夠說明業務領域關鍵成功因素的度量指標;確定能夠准確地反映數據等級結構的層。為了使應用導航比較快速和易於操作,
 盡量保持每個維度中的層數不超過5層。為了保證數據的分析最有意義,最好層到下層的類別數比例在1:10 以內。
 選擇的維度與度量要匹配。推薦維度數盡量保持在5~7個,因為較少的維度可以使得應用幾乎更直觀和易於使用。
        在生成PowerCube前,在Transfomer模型中必須完成:集成數據源數據;建立維度圖;定義需求的度量

第三章 組織數據源數據 (p358)
    數據類型  Transformer 使用三種類型的數據:
 日期:具有特定的數據格式,用於支持日期維度中指定的時間周期。日期數據定義時間周期
 文本:定義維度結構和類別的描述數據,另外也叫結構數據。文本數據定義維度 
 數值:定義度量值的數值性數據,另外也叫作事務數據。數值數據定義度量
    數據源文件是把數據帶入模型的計算機文件:來自企業數據 或者 供給Transformer用於作為模型的全部或部分源數據
 Transformer 可使用來自一個或多個數據源的數據,Transformer 可接受多種格式的數據源數據
 為Transfomer准備數據源文件有兩種方法:
 單數據源:所有需求的數據放在同一個數據源文件中。文本型和日期型數據用於建立維度結構,數值型數據用於定義度量。
 多數據源:由包含兩種不同類型數據的數據源構成:結構數據源包含支持維度結構需要的文本數據;事務數據源主要包含用於定義度量值的數值數據。
    數據源文件與數據源窗格一一對應:進入數據源的各個列成為組織模型的素材。
    .IQD 的優越性:
 .IQD包含從數據庫抽取的結構信息。使用.IQD是維護和更新數據源數據的有效方法:提高了性能,從Transformer可以運行並更新數據源的列,Transformer能夠識別在數據源中定義的列屬性,支持穿透鑽取到Impromptu.
 .IQD 從Impromptu產生,可以直接在Transfomer中引用。你總可以訪問最新數據,而避免了更新數據所需要進行的批處理。Impromptu提供對多種不同數據庫的訪問特性,使數據源的創建和維護簡單化。
 由於.IQD僅僅包含結構信息,它們占用的空間小。這避免了向生產平台傳輸大規模的文件。
 Transfomer能夠直接讀解包含在.IQD中的數據的列屬性。
 如果數據源是一個.IQD文件,Transfomer自動加入相關的Impromptu報表(.imr)到每個度量的穿透鑽取表中。
    Transfomer用數據源文件:構造維度、層和類別,將度量與維度結構的最底層聯接,將二維數據轉換成多維數據
 在Transfomer中,度量值總是與維度的最底層類別直接關聯的,就是說度量值是從最底層類別集合計算(Rollup)到上層類別。當PowerPlay在顯示最底層以上類別的度量值時,上層數據的集合計算值是在執行用戶操作時完成的。
    修改列:如果改變了數據源文件的結構,數據源數據可能與模型中當前有效的列不匹配。可以修改模型中的數據源。在數據源窗格中右擊數據源名——Modify Columns。

第四章 建立模型      (p365)
    手動創建模型結構:通過將數據源窗格中的列按順序和層次擺放到維度圖窗格和度量窗格中來建立模型結構。
    生成類別:維度圖窗格只是反映了多維結構的維度和層,並沒有反映層上數據的具體取值,即“類別(Categories)”。事實上模型剛設計好時,也只有維度和層,沒有“類別”。要想看到由不同層的“類別”構成的層次架構,就要首先生成“類別”。Run----Generate Categories類別生成后,可用類別計數來評估數據量。
    維度圖示(Diagram):類別是維度每層上的獨立的數據元素。生成“類別”后,可以展開維度圖示(Diagram)來查看類別,維度圖示是Transformer的一個附加窗格。Diagram ----Show Diagram 或按工具條上圖標可以看到每個維度上由不同層的“類別”構成的層次架構。
         類別只在維度圖示中可見。生成類別並不意味着生成立方體,此時在維度圖示中雖然能夠看到類別,但它們還沒有和度量關聯起來。
    用維度圖示修改:
 在維度圖示中指針的功能: 左-可以移動層或類別項.右-可以創建層或類別,或連接到其它項上.
 使用以下圖標增加或刪除維度圖示中的項:+、-
    手工層:上層到下層的類別數比例最好在1:10 以內。如果一個上層類別帶有太多的下層類別,可考慮在兩層之間加一手工層。
 拖拽維度圖示中某層名的右側,定義手工層。從某一個上層類別框的右側向右拖拽,生成手工層的一個類別, 可重復生成多個手工層的類別。
 逐個拖拽下層類別框的右側,把它們分別歸並到不同的手工層的類別之下。
 在地區維度,國家層(上層)和辦事處層(下層)之間可考慮加入一個手工層。專門用來針對“美國”。“美國”之下的辦事處個數明顯多於其他國家,顯得不太平衡。手工層名為“東西部”,設“東部”和“西部”兩個類別。各個辦事處(城市)分別歸到手工層的兩個類別下。其他國家手工層上無類別。
    特殊類別:在某些特殊情況下,我們可以把同一維度下不同層上的一些類別匯集到一起,構成一個“特殊類別”。並不去理會它們原來的層次關系。
              在維度圖示窗格下方框外定義,從維度名稱右側拖出。再從常規各層下選擇一些類別接到它下面。特殊類別不參加所在維度的常規匯總,本身也不重復匯總。需要手工維護。
    創建PowerCube:
 檢測模型無誤后,按工具條上的Create PowerCubes按鈕,即可生成立方體。在PowerCubes窗格中可以看見它的名字。雙擊該名字,可以看到它的存放路徑。
 也可以在生成立方體之前預先指定它的存放路徑。選中PowerCubes窗格后點擊工具條上的按鈕,在Output標簽頁按Browse按鈕為它指定存放路徑。
    維度屬性表:Dimension 
    層屬性表:   Level  (Level name,Source,General,Order By)
    類別屬性表:Category (Category lable,General,Order By,Category code,Source value,Inclusion,Orphanage)
    數據源屬性表: Data Source (Data Source name,Source,General,Description, Local data file : "c:\....\***.iqd",Source type:"Impromptu Query Definition",Isolation level :"Default",Database Signons :"PP-db")
    列屬性表:   Column (Column name,Original name,Calculated,Data class數據類型,Position精度,Input scale 小數位數)
    度量屬性表:Measure (Measure name,Measure lable,Storage type,Drill Through 鑽取,Rollup匯總)
    PowerCube屬性表: PowerCube (PowerCube name,PowerCube file name :"***.mdc",Database type )
    維度或度量的屏蔽:在PowerCube屬性表中Dimensions和Measures兩個標簽頁里對某些維度和某些度量進行屏蔽,被屏蔽的維度和度量雖然定義在了模型中,但在生成的立方體中用戶看不到它們。
    維度中部分類別的屏蔽和排除:可以根據需要對某些類別加以屏蔽或排除。不同的需要可能屏蔽或排除的范圍不同,這樣就形成了不同的View。在維度圖示窗格中,用鼠標右鍵點擊某一個維度名,選擇Add New View,可以為這個維度加一個View。可以針對一個View具體設定對類別屏蔽或排除的范圍。
    在View中進行具體設定:在視圖中屏蔽和排除維度中的部分類別。
    “類別”屏蔽和排除的種類:
 Exclude: 把指定類別及全部下層類別都排除,既看不見,也不參加匯總。
 Cloak: 把指定類別及全部下層類別都屏蔽,全都看不見,但它們參加匯總。
 Suppress: 僅把本層指定的類別屏蔽,其下層類別提升。不影響其他兄弟類別,也不影響匯總。
 Summarize: 把指定類別的全部下層類別屏蔽,使它們看不見,把它們的值匯總到當前類別,當前指定的類別看上去就象是處在最低層。
 Apex: 以當前類別作為本維度層次構架的頂點,即只保留當前類別及其以下的部分。旁系分支全部排除,既看不見,也不參加匯總。
 在維度圖示窗格中設。
    讓PowerCube使用維度中的View:在PowerCubes窗格中,點開一個Cube,在Dimensions標簽頁中右擊一個定義好View的維度,為它指定一個View的名字。這個Cube就使用這個View的設置。

第五章 日期維度      (p387)
    日期維度包含表示時間周期的類別
    日期維度有兩種類型:
 標准:由單獨一列建立,通常是由Transformer預定義,可以自定義.
 非標准:可以用多個列定義非標准日期維度,類別之間的關系完全由用戶定義
    定義日期格式:源數據--》Transformer-->日期列屬性表--》判斷數據源的列是否為日期型的數據,如果不是把數據設置為日期型--》設置日期輸入格式--》設置詳細程度
    修改日期顯示格式:在層屬性表中設置日期格式。
    標准日期維度:Transformer 用年、季度和月作為默認的標准日期維度的層。
 日期維度中的層(如年、季、月),由於不是對應一個獨立的列,在其屬性中的Time標簽頁要用到一個日期函數。可根據情況選擇適當的日期函數。如果要增加新層,可利用日期函數定義。
    日期維度中的日期函數:雙擊維度圖中日期維度的某一層,轉到Time標簽頁,可看到日期函數。
    在日期維度中增加“日”(day)層:把“訂購日期”從數據源窗格拖到維度圖中日期維度的最下端,作為一個新層;雙擊新加入的新層“訂購日期”,展開Level對話框, 轉到Time 標簽頁;
       在Date Function 中目前沒有對應的函數,把它改為函數Day;把層名(Level Name)改為“Day”;還可以修改日期的格式。
       按工具條上按鈕生成“類別”。可從維度圖示中看到“Day”層上的類別。
    在日期維度中增加“旬”層:
 在數據源窗格加入一個自定義的列“旬”:鼠標右擊數據源名,選擇Insert Column,新列命名為“旬”。Column type 改為Calculated, 按Calculation按鈕,形成表達式:If (day(訂貨日期)<=10) then('上旬') else (if (day(訂貨日期)<=20) then('中旬') else('下旬') )
 把新定義的列“旬”加到維度圖窗格日期維度的適當的位置。在層標“旬”上雙擊,在Order By標簽頁指定按訂貨日期排序。
    基於時間分區的Cube(虛擬Cube):物理Cube可以按照時間值分割成多個分Cubes,這多個分立方體的總和提供了一個邏輯上完整的總Cube的單一視圖。
        如果按照年(Year)設分區,則每一個年份產生一個分Cube。如:19960101-19961231.mdc,19970101-19971231.mdc。這些分Cube可以單獨使用,也可以聯合成一個邏輯整體在時間維度上跨年份使用。
        在PowerCube屬性表Cube Group中選中Enable Time-based Partitioning (啟用基於時間的分區),維度Dimension選擇日期,層Level選擇Year,即已年為分區依據。

第六章 多數據源      (p398)
    在Transformer 模型中的多數據源:多數據源模型能夠從多個不同數據源連接數據,它們可以是不同的存儲格式。如,Excel表和.IQD文件。
 加到模型中的數據源數目不限。Transfomer通過含有度量的數據源里的結構信息確定每個度量與維度的關系。
    為什么使用多數據源:將不同類型數據源的數據用於同一個模型中;向已存在的模型加入新的數據源;提高模型的性能;數據易於管理。
 提高模型的性能:多數據源減少了Transfomer處理的數據的總量,能夠提高生成類別和創建PowerCube的速度。因為結構信息只需要定義說明一次,而不是對每個加載到模型的數據記錄都要說明,因此提高了性能。
 數據易於管理:不必象許多數據庫管理那樣要管理表連接,也不用做一些與數據訪問有關的管理作業,更不需要使用公共的查詢工具准備數據源。例如,某些數據是靜態的,而另一些數據是要經常更新的。如果將靜態和動態的數據分別放進不同的數據源,就不需要經常管理靜態數據。
    多數據源的不同類型:根據所含列的數據類型分為結構數據源和事物數據源。
 事務數據源:指含有代表度量的事務數據(通常是數字型)。主要包含的列是數據庫中事務數據(數值數據),還要包含各個維度最底層的文本型數據項。
 結構數據源:指僅含有用於建立維度和層的結構數據(通常是文本型)。包含指定模型結構的某個維度下的各層的數據項。一般是文本型的數據,但有時也可能有數值數據列。
 Transfomer不是做數據庫連接,因此在將數據加入Transfomer之前,確定每個數據源應包含足夠的生成維度類別的信息,或使用象Impromptu一樣的數據庫訪問工具, 從各自獨立的數據庫表鏈接數據源。
    多數據源的規則:
 事務數據源:為提供度量, 可以創建一個或多個事務數據源。在事務數據源中提供充分的結構數據列,以便在每個維度中集合計算(Rollup)度量。
 結構數據源:為每個維度創建一個結構數據源。按照將在維度圖上出現的順序,排放數據源和它們的列。最好將結構數據源放在事務數據源的前面。
    多數據源與維度結構、度量的關系:要把每個維度最底層那個數據項也收集進事務數據源中以實現度量值的分解。
        每個結構數據源對應一個維度結構,該維度的最下層需要記錄在事務數據源中,然后依據最下層屬性的不同匯總維度各層的度量。
    將多數據源的列與維度的層相關聯:出現在不同數據源中的相同含義的數據列應同名;需要考慮層中類別的唯一性問題。
    聲明唯一性:
 當數據不唯一時,如果指定層的類別是唯一的,將產生無效的結果。因為通過聲明唯一性,並不能使數據變成唯一,只是告訴Transfomer,模型源數據的屬性。
 如果一個維度的最底層不能保證數據有唯一性,可以在源數據中創建一個有唯一性的列。如果一個維度的最底層能保證數據有唯一性,可以在層屬性表中聲明唯一。
    數據不唯一造成的問題:如果最底層數據不唯一,則需要把它的上一層的信息也要收集進事務數據源。即下層無法指定自己的父親是誰時,必須在事務數據中引入父親,以確定底層數據的唯一性。所以在對層進行編碼是一定要注意編碼的層次性,例如:日期的編碼必須是年份+月份+日期,單獨寫個25號,根本不清楚那年那月的25號。
    有效維度的關系:在維度圖中查看各數據源對各個維度、層的作用范圍。Edit ----Show Scope可看各個維度與各度量、各數據源之間的關系。
 直接(深黃)未聲明唯一性(紅)間接(淡黃)無關(白)。在Data Sources上選擇事務數據源即可。 
    聲明層唯一性:從層屬性表設置唯一性。雙擊層名展開Level對話框。Transformer在PowerCube產生期間驗證類別的唯一性。
    把代碼顯示成對應的名稱:維度圖中,產品、地區、客戶三個維度的最低層為保證唯一用的都是代碼,但我們希望在維度圖示和PowerPlay報表中顯示它們對應的產品名稱、銷售員名和客戶名。雙擊層名,點開Label, 選擇對應的列名。
    多數據源模型的注意事項:
 結構數據源放在前,事務數據源放在后;各維度底層數據項也要出現在事務數據源中以保證度量值能夠帶到各個維度上;
 用Show Scope顯示顏色檢查覆蓋關系;聲明唯一性;將代碼轉換成文字。
    增量更新:
 Cube可采用“增量更新”方式。此時是把事務數據源中的數據添加到原有的Cube上,原有的數據保留,並不重做。此時的事務數據源應該另外設置成只含有增量的部分。做了若干次“增量更新”之后應該選擇時機再做一次全量更新。
 在PowerCube屬性表點開Processing頁簽,勾選This cube is incrementally update即可。

第七章 度量          (p413)
    (一個)度量是用於衡量業務成效的數據。是用於確定業務操作成功的量化結果,或關鍵的性能指標。
    有三種類型的度量:
 標准度量:由數據源的列直接定義的度量
 計算度量:用Transformer中的計算表達式生成
 類別計數:是具有唯一屬性的維度的一層,它是一層的類別數,而不是行數。
    標准度量:標准度量直接從數據源中的一個有效源列提取數據,不同的度量值可以通過修改相關集合計算的屬性,從相同的數值性數據列創建
    標准集合計算設置:
 集合計算是用於匯總度量數據的方法。它確定Transformer和PowerPlay怎樣從子類別向父類別匯總(Rollup)計算度量值
 集合計算設置決定度量值在PowerPlay中將怎樣集合計算,它提供了從源數據的單獨一列創建多個度量的契機
 某些度量(如職工人數、存款余額,這種類型屬於累計值) 在日期維度中向上層匯總(Rollup)的方式與在其他維度上有所不同。
    Rollup選項:在度量屬性表選中Rollup(匯總)頁簽中設置Regular rollup,Time state rollup,Duplicates rollup
    度量的精度和顯示的小數位:在度量的屬性表中,分別在General和Format這兩個標簽頁中設置度量的精度和小數位數。
    追加度量:
 “追加度量”的類型為Column, 建立在原有數據源中的一個列上(不屬於Calculated類型),但Rollup方式可以另外定義。
 在度量中加入一項名為“平均成本”的“追加度量”:右擊度量窗格---Insert Measure ---Type標簽頁,在Measure type區選Column, 展開下拉列表,選中“銷售成本”,轉到Rollup標簽頁, 將Regular rollup方式改為Average。
    計算度量:
 計算度量在源數據列不直接生效時,為度量衍生出了新的數值。通過定制計算度量可以發現源數據沒有表現出來的趨勢。
 右擊度量窗格,選Insert Measure,或按Ins鍵。為這個計算度量取名“利潤”。在Type標簽頁,Measure type 選為Calculated,按Calculation按鈕:銷售收入-銷售成本;計算度量“利潤”前面有一個計算器圖標。
    計算的順序:
 計算度量是含有計算的度量。當在不同的層之間進行鑽取時,對這個度量的值也要Roll up。這就會有一個度量本身的計算和Roll up操作的先后順序問題。After Rollup、Before Rollup計算的順序在Rollup標簽頁選定。系統默認計算度量是在集合計算后計算。
    Before Rollup: 在集合計算之前
 Before Rollup: 是先對每個記錄作公式計算,然后再集合計算。即根據源數據值而不是匯總值得出計算度量的值,然后Rollup。
    After Rollup:在集合計算之后
 After Rollup: 是先進行集合運算,然后根據集合運算的匯總值進行公式計算。
    類別計數度量:是在特定維度的特定層上計算類別數的一種度量類型。
 顯示在某年、某季度或某月購買了某種產品的客戶的數目。如果在這個時間段里某個客戶對同一種產品購買了兩次或多次,則客戶計數只計算一次。它算的不是行數,而是只對選定維度和層計算唯一的、非丟失的和非零值的類別進行統計。
 右擊Measures窗格Insert Measure,維護Measure name,在Type頁簽中Category Count 是類別計數類型,Dimension用來指定需要度量的維度,Level用來指定維度的層。
    度量組(Measure Folder)
 右擊度量窗格可以建立度量組。度量組可能是:更低層度量的邏輯組,計算度量(沒有更低層)。利用度量組可以下鑽到更低層,也可以將度量匯集到高一層。

第八章 備選鑽取路徑  (p428)
    在同一個維度中可按照另一種途徑向下鑽取,探察數據的新的觀察角度
 主鑽取路徑、備選鑽取路徑
    備選鑽取路徑用於:對維度中的詳細數據提供更直接的導航,為特殊情況下的數據分析提供更直觀的選擇,表示源文件中部分數據間的不同關系。
    有三種類型的備選鑽取路徑:直接訪問,重新構造層,引入新層
    備選鑽取路徑的會合層:
 會合層是備選鑽取路徑與主鑽取路徑會合的層,會合層上必須保證都是唯一性的類別,
 一個或多個備選鑽取路徑與主路徑合並在一個或多個會合層上。Transformer才能夠連接幾個父類別到同一個會合類別。主路徑與備選鑽取路徑共享會合層和其以下的類別值。
    定義會合層為唯一:
 用層屬性表定義一個會合層為唯一性.
 由於預先用查詢范圍分析關系,層可能會已經被定義成唯一
 如果會合層預先沒有聲明唯一性,Transformer會提出警告

第九章 貨幣轉換      (p434)
    在Transformer中用轉換表換算金融度量。
    配置貨幣轉換表的方法:從外部貨幣表向模型添加一個包含匯率轉換數據的數據源;
 在Transformer中,通過建立貨幣表手工定義新的貨幣和轉換率,添加貨幣表之前,模型必須包含一個日期維度。
    如何轉換貨幣?
 貨幣轉換表依據的是日期維度。例如,日期維度中的月份與貨幣轉換表中的月份相符。
 轉換是根據最底層的日期類別進行的。
 轉換率是針對於區域設置中隱含的貨幣。
 貨幣轉換表加到PowerCube 或在PowerCube中修改。
 應用集合計算規則
    加入新數據源----匯率數據:把匯率數據作為一個新的數據源加入數據源窗格,從數據源為模型生成類別。
    設定匯率的四個基本列:
 File--Currency Table--> 彈出“Currency Table”對話框。
 選中“Use an external currency data source”選項。
 定義好四個Base table columns。它們分別對應與匯率數據中的四個列:幣種、匯率、幣碼、日期。
 按Load Table按鈕(匯率表裝入模型)。
    為度量設定允許匯率轉換:
 從度量窗格雙擊某個度量,轉到General標簽頁,選中“Allow currency conversion”,度量圖標改變,生成立方體。
 PowerPlay: Explore ----Convert Currency

    PowerCube 更新和維護:
 PowerCubes的自動定時更新可借助於Scheduler調度器。
 Scheduler命令:“D:\Program Files\Cognos\cer4\bin\Trnsfrmr.exe ”-n2 -s c:\Cube\Demo.mdl 
        解析:   -n2: 不打開界面    -s: 保存模型        c:\Cube\Demo.mdl 模型名
        Data Source-->Query Update-->Updated PowerCube

第十章 模型設計原則    p442

第六部分 Framework Manager
1.介紹Framework Manager   p443
 Framework Manager為ReportNet提供元數據模型的開發環境
 Framework Manager中的模型是來自一個或多個數據庫的數據結構的業務展現。
 在Framework Manager中,開發模型的工作是在一個項目(Project)中進行,在項目的最上層包括:模型名字空間數據源參數映射包
 與基於Web的應用程序Query Studio、Report Studio和CognosConnection不同,Framework Manager是一個基於Windows的應用程序。

    Cognos ReportNet工作流程
 計划: 開發應用范圍、確定用戶群、確定業務和技術需求
 管理:
 安裝–安裝ReportNet、Content Store (MSSQL, Oracle)
 配置–使用CognosConfiguration:(1) 安裝完ReportNet組件后,設置其初始配置;(2) 如要修改屬性或增加組件,可配置ReportNet組件;(3) 啟動和停止ReportNet服務。
 安全設置和維護–用CognosConfiguration給ReportNet環境指定認證者管理
 報表分發和調度–使用CognosConnection管理由報表作者創建但不被報表作者管理的報表。
 模型: 創建含有元數據模型的Framework Manage 項目。 將數據源業務視圖發布到ReportNetContent Store。 Framework Manager建模人員負責將安全性視圖應用到業務元數據模型。
 制作: 使用Report Studio 和Query Studio 創建報表。
 使用: 最終用戶使用所需的業務報表

 Framework Manager中的對象:有一個標識符可以具有相同的名稱,但是必須冠以不同的名字空間來唯一標識。
 標識符可以由一、二或三級組成。例如:查詢項有一個三級標識符例如: [GoSales].[Product].[ProductCode]
 名字空間、函數、名字空間快捷方式和文件夾快捷方式都有一個一級標識符例如: [GoSales]
 其它對象都有一個兩級標識符例如, 查詢主題:[GoSales].[Product]


2.設計和創建項目   p465
 采用兩層模式:將基礎對象組織到物理層將報表對象組織到表示層
    創建項目
    導入元數據
    組織對象
    發布模型
 將Framework Manager模型導出為一個Common Warehouse Metamodel(.CWM)文件。
3.准備元數據
    測試Limited Local 與Database Only處理
 有兩種查詢處理類型:
 limited local ——大部分的SQL處理和運行盡可能在數據庫服務器上進行,然而有些報表或報表片斷(report sections )使用本地SQL處理。
 database only ——所有的SQL處理和運行全部由數據庫服務器完成。如果任何報表或報表片斷要求本地SQL處理,則會出錯。
    檢查、修改和創建查詢主題間的關系
 Cardinality(集勢)指查詢主題間的關系:一個查詢主題中的每個記錄與另一個查詢主題中的多少記錄相關聯
 Framework Manager在導入過程中自動給元數據創建關系
 可以修改現有關系,或者創建新的關系
 可以在任何兩個查詢主題間創建關系
 表示層關系可以覆蓋物理層關系
 四種基本關系:多對多關系,不明確或多余的關系,層次型關系,平行關系
    檢查和修改查詢項屬性
 查詢相代表數據源中的數據列或者是基於數據源中數據列的計算。
 查詢項可以是:數據源列的引用(reference),另一個查詢項的引用,一個計算
 每個查詢項都有屬性可以進行修改以滿足報表需求。
 使用屬性(Usage property)確定每個查詢項所代表數據的使用確定查詢項和計算的聚合規則。
 使用屬性設置有:Identifier:標識列通常是一個鍵、索引、日期或日期時間型數據,代表用來對與其有關的Fact列中的數據進行分組或匯總的一個列。
 Fact:事實列通常是數值或時間間隔型數據,代表一個含有可分組或可匯總的數據列,例如,產品成本。
 Attribute:屬性列通常是字符串型數據,代表一個既非標識也非事實的列,例如,描述或產品名稱。
 Unkown:當模型設計開發者不能確定數據的角色時使用

    創建和測試新的查詢主題
 有三種類型的查詢主題:
 數據源查詢主題:包含有直接在一個單數據源中引用數據的SQL語句
 模型查詢主題:以報表需求(表示層)為主,用底層數據源查詢創建查詢項
 存儲過程查詢主題:當導入的procedure不被指定為數據源的函數時,將生成存儲過程查詢主題。這種類型的查詢主題將調用數據庫中的一個存儲過程,返回一個結果集

    創建計算
 創建計算,給報表作者提供他們經常使用的值
 計算可以使用:查詢項參數函數
 有兩種類型的計算:內置(Embedded):只想給一個查詢主題使用;獨立(stand–alone):希望重復使用

    使用參數映射和會話參數創建宏
 參數映射類似於數據源查找表(look-up table)
 它們使用一個應用程序能夠識別的值來替代傳遞參數
 每個參數映射由兩個列組成:key(必須是唯一的),value(用於替換)
 會話參數是一個與會話相關聯的變量,使用會話參數過濾數據,可以用會話參數影響查詢結果集。
 宏是可以插入模型對象的定義和屬性中的代碼片段。宏可以引用:參數映射和參數映射實體(entries),會話參數。
 當執行一個查詢時,宏中的參數將被賦值。引用參數映射的語法:$[Locale Map]{}。該表達式將接受括號中的另一個參數(例中為$runLocale) ,該參數將被用於搜索在參數映射中,應用程序所使用的適當的值。表達式包含在# 字符中

4.准備業務視圖
    給模型添加表示層
 物理層(數據庫層):由數據源和存儲過程查詢主題組成
    表示層:由快捷方式和模型查詢主題組成。通常,物理層對報表作者是隱藏的。可以在表示層基礎上建立和發布幾個包,每個包提供不同的元數據視圖,滿足不同的報表需要。
 模型查詢主題重復使用來自數據源查詢主題和其它模型查詢主題的查詢項,它們對於創建有意義的元數據視圖給報表作者是非常有效的,模型查詢主題在不影響底層查詢主題的情況下,允許進一步定制元數據以滿足特殊需求

    創建獨立(stand–alone)和內嵌(embedded)型過濾
 過濾被用來限制查詢主題所檢索的記錄,獨立式(可重復使用)內嵌式(面向單個查詢主題)

    使用提示值細化一個查詢
 當需要用戶輸入超出報表作者控制的變量時可以使用提示值,
 使用提示作為一個值的語法:?<提示名稱>?
 通常最好利用附加的提示功能,在報表應用程序中定義提示。然而,有些變量報表作者無法修改。對於這些變量,可以使用Framework Manager定義提示

5.管理包
    給模型和包編輯控制管理器
 可以通過設置控制管理器(在Project項下)來限制在查詢主題測試或報表設計模式中檢索的數據。
 設置控制管理器時,隨后發布的所有包將反映新的設置。
    創建和修改包
 將要發布的模型對象包括在包里
    設定包語言和函數列表
 在多語言數據實例(instance)中,必須設置將要發布的包的語言。在將語言添加到包之前,必須將它們添加到項目中。
 包函數列表可以用來指定給報表作者提供哪些數據源函數
    分析發布包的影響
 當發布一個包時,可以選擇保存到ReportNet server 一個網絡地址
 在發布之前,應該對包進行檢查
 如果修改了一個包,可以在將新包發布給報表作者之前對所作修改的效果進行分析。
    發布包並對設置模型版本控制
 發布一個包時,可以選擇在CognosReportNetserver上保留多少個模型版本。
 創建一個嵌套包時,會建一個基於其它現有包的主包(master package)。
 用嵌套包重復使用模型信息,可以節省時間,維護也更加方便。嵌套包的另一個優點是可以僅發布主包(master package)就能夠將所有被引用的包提供給報表作者

6.在Framework Manager中設置安全性
    了解ReportNet安全性環境
 ReportNet安全性模型是基於:第三方認證(third-party authentication provider),授權(security object + permission + entry),Cognos名字空間,管理
 ReportNet的安全性是可選的,允許匿名訪問(不啟用安全性)。
 使用Cognos名字空間中定義的組和角色控制模型中元數據的訪問。Cognos名字空間含有安全性對象,包括:預定義的組或角色,用戶定義的組或角色。
 可以:創建針對ReportNet的組和角色,對來自認證提供者的用戶、組和角色進行重新打包,避免在認證提供者中設置面向應用程序的認證信息使用是可選的
 Cognos名字空間是ReportNet內建名字空間。不用於認證。它含有Cognos安全對象,例如組和角色等。
    創建和應用安全性過濾
 當在Framework Manager中應用安全性時,可以對所選用戶、組和角色的權限進行控制。為此,可采用如下的方法:設定包訪問權限(元數據安全性),給對象提供可視權限(基於對象安全),定義安全性過濾(數據安全性)

    限制查詢主題和查詢項的訪問權限
 設置哪些用戶、組和角色具有對象的可視權力,拒絕所有其它的用戶、組和角色的訪問。
 創建安全性過濾,限制查詢主題返回的數據
 如果用戶不屬於安全性過濾設置的任何組,那么他們不會受到組合過濾表達式設定限制的影響,可以不受限制地訪問數據
    限制包的訪問權限
 設置哪些用戶、組和角色有權訪問包,拒絕其它用戶、組和角色的訪問。
 給需要執行以下操作的用戶提供包的管理訪問權限:重新發布包到ReportNet Server;更新包后,執行影響分析(impact analysis)以確定報表是否受到影響。

7.管理項目
    實現知識庫控制
 使用知識庫控制實現多用戶建模,幫助項目管理。使用Framework Manager:連接到VSS或CVS,check in和check out一個項目,獲取項目的最新版本,查看項目歷史
 設置知識庫控制,需要執行下面的任務:創建知識庫(安裝和配置VSS或CVS);設置知識庫的路徑(用Cognos Configuration指定知識庫的類型和設置路徑);配置到知識庫的連接(connection manager);給知識庫添加項目;一旦建立了知識庫連接,可以通過連接管理器修改或刪除它.
    分片和鏈接一個模型   p543
 創建一個片斷可以:根據業務規則和企業需要對項目進行組織;共享和重復使用項目信息.
 要記住的幾點:片斷是一個包括其關聯項目文件的新項目;在文件夾或名字空間層分片;可以將片斷鏈接到其它項目
 當對一個項目分片時,將項目分成業務單元是一個好辦法.
 創建鏈接可以:組織大型項目的工作;保持一致性;重復使用信息.
 只能給下列對象創建鏈接:文件夾;名字空間;項目或片斷.
 當創建片斷和鏈接時,可以遵循下面的最佳方式:鏈接到相對靜態片斷;主項目中的名字空間和項目中指向文件夾的任何鏈接都必須具有相同的標識符;項目中的所有對象必須有唯一的標識符;更新片斷和主項目中的參數;主項目和項目中的任何片斷必須具有相同的語言.

    了解操作日志(action logging)和項目同步
 捕獲、查看和重放對項目執行的操作。
 項目同步:使用日志文件同步一個項目和元數據元中發生的修改變化.
 模型中執行的所有操作都可以重做,這樣可以:創建一個新的項目,將元數據重新導入,捕獲任何修改變化,使用更新元數據對整個建模過程進行重復.
    檢查項目
 可以隨時檢驗項目中的問題,例如:無效關系,無效引用,無效對象定義

8.使用高級建模技術
    解決一個遞歸關系
 當導入元數據時,Framework Manager會在圖表中顯示自聯接,而不是將它們作為查詢來執行。
 使用快捷方式創建和修改遞歸關系
    設置維度信息
 維度信息用來關聯屬性和層,確保恰當的聚合,避免重計數或重復值。
 Framework Manager可以給一個查詢主題設定層(levels)、鍵、屬性和層次結構。
 保證將鍵和其它標識符的用法(usage)定義為標識符。這樣可以讓模型更加直觀。
 當一個層有代理鍵(surrogate key)時,可以將其當作層鍵使用並將業務鍵當作一個屬性(仍然應該被設置為一個標識符)。
 用將在報表中使用的項作為層,將id (形成關系的一端)作為層的鍵(記住要在提示信息中對其進行反映,以便不影響查詢效率) 。
 對於每個層,對該層的任何查詢項進行關聯。
    創建星型模式分組
 星型模式:一張事實表多個維度表
 共享維度與多個事實表有關系(1對多關系)。將不同的事實表放置在不同名字空間。
 了解多事實查詢(Multi–Fact Queries)        
 了解拼接查詢(Stitch Queries)
  拼接查詢(Stitch queries)會給數據源發送兩個獨立查詢,然后在本地對它們進行合並。
  所生成的SQL含有下面的語法:coalesce(返回其參數中第一個非空表達式),full outer join


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM