海水正藍

          面朝大海,春暖花開
          posts - 145, comments - 29, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          為什么需要元數據模型

          您已經熟悉使用 Cognos 來創建報表,進行自助式設計分析,然而這些需要的創建的應用都依賴于對應的元數據模型,用戶使用元數據模型對他們的數據源進行分析和報告。元數據模型是整 個 Cognos 應用的基礎,它是一個或多個數據源中信息的業務演示。基于這個基礎,您才能夠創建報表,進行自助式設計分析。

          Cognos 能支持多種數據源,包括關系型的和多維的數據庫。元數據模型能隱藏底層數據源的復雜結構,可以更好地控制數據怎樣展現給最終用戶。元數據的組織和擴展就需要用到 Cognos 的元數據模型設計工具 Framework Manger。

          Cognos 的元數據模型設計工具 Framework Manger 可以連接企業的各種數據源(包括關系型數據庫,多維數據庫,文本,OLAP 等),對數據結構進行描述,為 Cognos 的多維分析,即席查詢,報表等各種應用提供統一一致的數據視圖,降低對企業數據訪問的復雜性,同時提供對各種應用使用的結構的統一的管理。

          Cognos BI 10 的最新版本中在 Framework Manager 中增加了模型設計加速器,可以幫助開發人員更迅速、更輕松的創建新模型,并且模型優化時系統將充分利用知識庫的經驗。它的主要功能是:

          • 幫助開發人員通過一個向導式的自動化工具,用快速簡便的方法創造新的建模框架。
          • 從一個包含了知識庫經驗的模型開始建模,并添加更復雜的模型需求。
          • 通過知識庫的經驗指導建模和幫助糾正和驗證的常見錯誤。 



          第一個元數據模型

          1. 在開始菜單中啟動 IBM Cognos Framework Manager,選擇 Create a new project using Model Design Accelerator。模型設計加速器適合于基于關系型數據庫星形模型的元數據建模。星形模型是一種多維的數據關系,它由一個事實表(Fact Table)和一組維表(Dimension Table)組成。
          2. 在“New Project”中輸入名稱“第一個元數據模型”和目錄位置,如圖 1 所示。當在 Framework Manager 中工作時,實際上是在一個 Project 中進行操作的。Project 以一個文件夾的形式出現在文件系統中,它包含一個 Project 文件(.cpf) 和 XML 文件。
              圖片示例
          3. 在登錄窗口輸入用戶名和密碼,在本教程中是 administrator 和 cognos,然后點擊確定。語言選擇“英文”,數據源選擇“great_outdoors_warehouse”。
          4. 在對象選擇中,展開 GOSALESDW 的 Tables,選擇以下表后點擊 Continue。
            • GO_TIME_DIM
            • SLS_ORDER_METHOD_DIM
            • SLS_PRODUCT_DIM
            • SLS_PRODUCT_LOOKUP
            • SLS_PRODUCT_TYPE_LOOKUP
            • SLS_PRODUCT_LINE_LOOKUP
            • SLS_SALES_FACT
          5. 在 IBM Cognos Framework Manager User Guide 窗口中介紹了使用 Model Design Accelerator 的步驟,您閱讀后點擊 Close。
          6. 在 Model Accelerator 面板,右鍵選擇 Fact Query Subject,選擇 Rename,輸入 Sales Fact。
          7. 在 Explorer tree 面板,展開 SLS_SALES_FACT,選擇以下字段拖拽到 Sales Fact 對象。
            • QUANTITY
            • UNIT_COST
            • UNIT_PRICE
            • UNIT_SALE_PRICE
            • GROSS_MARGIN
            • SALE_TOTAL
            • GROSS_PROFIT
          8. 重命名 New Query Subject 1 為 Products。
          9. 在 Explorer tree 面板:
            • 展開 SLS_PRODUCT_LINE_LOOKUP 拖拽 PRODUCT_LINE_EN 到 Products 對象。
            • 展開 SLS_PRODUCT_TYPE_LOOKUP 拖拽 PRODUCT_TYPE_EN 到 Products 對象。
            • 展開 SLS_PRODUCT_LOOKUP 拖拽 PRODUCT_ NAME 到 Products 對象。
          10. 對話框 Relationship Editing Mode for: Products 會彈出來,原因是 Framework Manager 無法檢測出 SLS_PRODUCT_LOOKUP 和 SLS_SALES_FACT 的關系,因此需要手動指定。按住 Ctrl 選擇 SLS_PRODUCT_LOOKUP 的 PRODUCT_NUMBER 和 SLS_PRODUCT_DIM 的 PRODUCT_NUMBER,點擊左上角的 Create a Model Relationship 按鈕。在 Modify the Relationship 對話框中點擊 OK,然后點擊 OK 關閉 Relationship Editing Mode for: Products 對話框,如圖 2 所示。 

            圖 2. 關系
            關系 

          11. 在 Explorer tree 面板展開 SLS_PRODUCT_DIM,選擇以下字段拖拽到 Products 對象。
            • PRODUCT_KEY
            • PRODUCT_LINE_CODE
            • PRODUCT_TYPE_KEY
            • PRODUTCT_TYPE_CODE
            • PRODUCT_NUMBER
            • PRODUCT_IMAGE
            • INTRODUCTION_DATE
            • DISCONTINUED_DATE
          12. 重命名 New Query Subject 2 為 Time。
          13. 在 Explorer tree 面板,展開 GO_TIME_DIM,選擇 DAY_KEY 再按住 Shift 鍵選擇 WEEKDAY_EN,把包含這兩個字段的中間所有字段拖拽到 Time 對象。
          14. 重命名 New Query Subject 3 為 Order Methods。
          15. 在 Explorer tree 面板,展開 SLS_ORDER_METHOD_DIM,選擇以下字段拖拽到 Order Methods 對象。
            • ORDER_METHOD_KEY
            • ORDER_METHOD_CODE
            • ORDER_METHOD_EN
          16. 最后在 Model Accelerator 面板的模型如圖 3 所示。點擊 Generate Model 按鈕,提示框選擇 Yes,模型設計加速器會根據您的選擇來生成模型。當生成結束后,IBM Cognos Framework Manager 的界面就會展示在您的面前。 

            圖 3. Model Accelerator
            Model Accelerator 

          17. 點擊工具欄上的保存按鈕,您的第一個元數據模型就創建成功了。
          在 Framework Manager 的 Project Viewer 中可以看到模型的層次,如圖 4 所示。模型設計加速器已經為您設計了模型的三個命名空間 Physical View、Business View 和 Presentation View。
          • Physical View 是包含支持星型模型的表。
          • Business View 是包含需要的查詢字段。
          • Presentation View 是包含在 Business View 的快捷方式。


          圖 4. 模型的層次
          模型的層次

          導入額外元數據模型

          前面您用 Model Design Accelerator 構建了您的第一個元數據模型。接下來您可以用 Metadata Wizard 來手工添加其他元數據,包括導入元數據,創建關系,更新 Business View 和 Presentation View。

          1. 在 IBM Cognos Framework Manager 的 Project Viewer,右鍵選擇 Physical View 下面的 gosalesdw 命名空間,選擇 Run Metadata Wizard。
          2. 選擇 Data Sources 后 Next。
          3. 選擇“great_outdoors_warehouse” 數據源后 Next。
          4. 在對象選擇中,展開 GOSALESDW 的 Tables,選擇 SLS_SALES_TARG_FACT 后 Next。
          5. 選擇 Between each imported query subject and all existing query subjects in the model,如圖 5 所示。點擊 Import 然后點擊 Finish。 

            圖 5. 導入元數據
            導入元數據 

          6. 雙擊 gosalesdw 命名空間,然后選擇 Diagram 標簽頁來查看關系的圖形,如圖 6 所示。您可以看到剛導入的 SLS_SALES_TARG_FACT 沒有對象連接,需要您手工創建。 

            圖 6. Diagram 關系圖
            Diagram 關系圖 

          7. 在 Project Viewer 窗格,選擇 GO_TIME_DIM 下的 MONTH_KEY ,再選擇 SLS_SALES_TARG_FACT 下的 MONTH_KEY,右鍵選擇 Create,再點擊 Relationship。關系定義對話框如圖 7 所示,點擊確定。 

            圖 7. 關系定義
            關系定義 

          8. 重復第 25 步,創建 SLS_PRODUCT_DIM 和 SLS_SALES_TARG_FACT 在 PRODUCT_TYPE_KEY 字段的關系。
          9. 在 Project Viewer 窗格,右鍵選擇 Business View 命名空間,點擊創建,選擇 Query Subject,輸入 Sales Target Fact 后點擊 OK。
          10. 在 Query Subject Definition 窗口,在 Available Model Objects 下展開 Physical View,在 gosalesdw 下選擇 SLS_SALES_TARG_FACT,把 SALES_TARGET 拖動到 Query Items and Calculations 面板下,如圖 8 所示。 

            圖 8. 查詢對象定義
            查詢對象定義 

          11. 在 Business View 命名空間下點擊剛才創建的 Sales Target Fact 查詢對象,按住 Ctrl 再選擇 Products 和 Time,也就是剛才定義過關系的維度,右鍵選擇 Create Star Schema Grouping。在 Create Star Schema Grouping 對話框輸入 Sales Target 后點擊 OK,如圖 9 所示。 

            圖 9. 創建基于以事實為中心和其關聯維度的模型
            創建基于以事實為中心和其關聯維度的模型 

          12. 把剛才創建的 Sales Target 命名空間拖動到 Presentation View 下。
          13. 右鍵選擇 Presentation View 命名空間,點擊 Create,然后選擇 Namespace,把名字定義為 Sales。接著把 Sales Fact、Products、Time 和 Order Methods 的快捷方式拖動到 Sales 命名空間,如圖 10 所示。 

            圖 10. Presentation View 命名空間
            Presentation View 命名空間 

          點擊工具欄上的保存按鈕,您已經完成了導入額外元數據模型的工作。

          設定 Determinants

          Determinants 是 IBM Cognos BI 的特性,通常來用來控制聚合的粒度。當維度數據和事實數據基于有重復值的粒度層次關聯時候就需要 Determinant。

          Determinants 反映了代表查詢對象的子集或集合,是用來保證準確的數據聚合。Determinants 可以定義唯一標識一個數據集的數據庫列集合,或者可以指定一個能夠標識數據中的非唯一集的列集合。

          在您的元數據模型中,日期是時間的惟一性 determinants。而非惟一 determinants 的例子是月份,在同月的時間中月份是重復的,在指定月份的非惟一 determinants 時候就要指明是 Group By。這樣就暗示 IBM Cognos 在處理到非惟一 determinants 的屬性時候有重復數據,需要采用聚合函數來避免重復計數。

          1. 在 Project Viewer 的 Physical View 命名空間下,雙擊 GO_TIME_DIM 查詢對象,然后點擊 Determinants 標簽頁。您可以看到只有根據主鍵的一個 determinant,下面您可以添加 Year、Quarter、Month 作為 Determinants。
          2. 右鍵選擇 pk,點擊 Rename,輸入 Day 然后回車。
          3. 在 Determinants 窗格,點擊 Add,右鍵選擇 New Determinant,點擊 Rename,輸入 Year 然后回車。
          4. 選中 Year,把 CURRENT_YEAR 拖拽到 Key 窗格。
          5. 選擇 Year 旁邊的 Group By 的復選框。
          6. 按照第 35 到 37 的步驟,添加 Quarter 作為 determinant,QUARTER_KEY 拖拽到 Key 窗格,選擇 Group By 的復選框。
          7. 選中 Quarter, 把 CURRENT_QUARTER 拖拽到 Attributes 窗格。Attributes 是與 determinant key 相關的數據項。如果 Attributes 使用在報表中,則 Key 就會用在基于聚合函數的 SQL 中。
          8. 按照第 35 到 37 的步驟,添加 Month 作為 determinant,MONTH_KEY 拖拽到 Key 窗格,選擇 Group By 的復選框。
          9. 選中 Month, 把下列字段拖拽到 Attributes 窗格。
            • CURRENT_MONTH
            • MONTH_NUMBER
            • MONTH_EN
          10. 通過上下箭頭,調整順序依次為 Year、Quarter、Month 、Day。最后點擊 OK,如圖 11 所示。 

            圖 11. Determinants
            Determinants 

          在您的模型中 SLS_PRODUCT_DIM 維度也存在類似的問題,您可以仿照上面的步驟,添加 Product line 和 Product type 兩個 Determinants,如圖 12 所示。Product line 的 Key 是 PRODUCT_LINE_CODE,而 Product type 的 Key 是 PRODUCT_TYPE_KEY。 

          圖 12. SLS_PRODUCT_DIM
          SLS_PRODUCT_DIM 

          增加業務邏輯

          通常會把業務邏輯放在 Business View 這個層次的,比如過濾和計算。有些時候為了考慮性能和維護成本,也會放到 Physical View 這個層次。

          在您的模型中,SLS_PRODUCT_LOOKUP 是支持多語言的,為了正確返回 Product Name,需要添加過濾條件。從性能角度考慮,這個過濾放在 Physical View 這個層次可以避免返回額外的數據記錄。

          過濾

          過濾被用來限制查詢主題所檢索的記錄。Framework Manager 有兩種過濾:

          • 內嵌式 Embedded :面向單個查詢主題。
          • 獨立式 Stand-alone :可重復使用。

          接下來您將采用內嵌式過濾來讓 SLS_PRODUCT_LOOKUP 返回英文的產品名稱。

          1. 在 Project Viewer 窗格,Physical View 下的 gosalesdw 命名空間,雙擊 SLS_PRODUCT_LOOKUP,選擇 Filters 標簽頁,點擊 Add。在 Name 編輯框輸入 Language Filter。
          2. 在 Available Components 面板里,雙擊 PRODUCT_LANGUAGE。在 Expression Definition 面板輸入 = ‘ EN ’。

            Framework Manager 中的對象有一個標識符,可以擁有相同的名字,但是必須使用一個名字空間進行唯一標識。查詢項有一個三部分的標識符 [namespace].[query subject].[query item]。

          3. 最后計算公式為:[GOSALESDW].[SLS_PRODUCT_LOOKUP].[PRODUCT_LANGUAGE] = 'EN',如圖 13 所示。然后點擊 OK。 

            圖 13. 內嵌式過濾
            內嵌式過濾 

          4. 選擇 Test 標簽頁,點擊 Test Sample,查看結果后再點擊 OK。

          計算

          您可以創建計算來給報表作者提供他們經常使用的值。計算可以使用查詢項、參數、函數。有兩種類型的計算:

          • 內嵌式 Embedded :面向單個查詢主題。
          • 獨立式 Stand-alone :可重復使用。

          接下來您將采用內嵌式計算來生成盈虧平衡點 Quantity * Unit Cost。

          1. 在 Project Viewer 窗格,Business View 命名空間下雙擊 Sales Fact,點擊右下角的 Add。在 Name 編輯框輸入 Break Even Point。
          2. 在 Available Components 窗格,雙擊 Quantity。點擊 Functions 標簽頁,雙擊 *。點擊 Model 標簽頁,雙擊 Unit Cost。
          最后計算公式為:[Business View].[Sales Fact].[Quantity] * [Business View].[Sales Fact].[Unit Cost],如圖 13 所示。點擊 Test Sample 按鈕,查看結果后再點擊兩次 OK。 

          圖 14. 內嵌式計算
          內嵌式計算



          維度建模關系

          您前面已經使用標準關系建模,設計的元數據可以在 Report Studio 中用基本關系即席查詢和報表。此外,在 IBM Cognos BI 中,還可以使用維度建模關系建模 Dimensionally Modeled Relational 簡稱 DMR。維度建模關系建模指的是一個建模人員為關系型數據源提供的允許進行 OLAP 風格查詢的維度信息,這樣就能在 Business Insight Advanced 訪問成員函數,進行自主式設計分析和向上、向下鉆取。

          維度建模關系建模通過以下元素定義:

          • 常規維度 Regular Dimensions
          • 度量維度 Measure Dimensions
          • 范圍關系 Scope Relationships

          常規維度

          常規維度表達的是描述性數據,這些數據為度量維度中建模的數據提供上下文。常規維度由一個或多個用戶定義的層次結構組成,這些層次結構由層、鍵、標題和屬性組成。

          常規維度可分解為稱為“級別”的信息組。反過來,各級別可以組織為層級。例如,產品維度可以包含組織到單一層級(稱為 Product)中的級別 Product Line、Product Type 和 Product。另一個示例是時間維度,包含組織到兩個層級中的級別 Year、Quarter、Month、Week 和 Day。一個層級 YQMD 包含級別 Year、Quarter、Month 和 Day,另一個層級 YWD 包含級別 Year、Week 和 Day。

          最簡單的級別定義包含業務鍵和標題,其中任意一項都引用一個查詢項目。級別的實例(或行)定義為該級別的成員。它由成員的唯一名稱標識,它是一個五部分的 標識符,[namespace].[dimension].[hierarchy].[level].[query item]。

          如果級別的業務鍵足以標識級別的每個數據集,則可將級別定義為唯一級別。比如 Product 級別的成員是唯一級別,因為它不需要 Product Type 的定義。未定義為唯一級別的級別類似于非惟一 determinants,比如月份。

          1. 在 Project Viewer 窗格,右鍵點擊 Model 選擇 Create,然后點擊 Namespace,命名為 Dimensional View。
          2. 右鍵點擊 Dimensional View 選擇 Create,然后點擊 Regular Dimension。
          3. 在 Available items 窗格,展開 Business View 下的 Time,拖拽 CURRENT_YEAR 到 Hierarchies 窗格。
          4. 右鍵選擇 Hierarchies 窗格最上面的 CURRENT_YEAR,點擊 Rename,輸入 Time。
          5. 把 CURRENT_YEAR (All) 重命名為 Time (All),把最下面的 CURRENT_YEAR 重命名為 Year。
          6. 選擇 Year 層級,在下方窗口的 Role 選擇 _businessKey,然后點擊 Close。
          7. 點擊下方窗口的 Add,命名為 Year Caption,在 Available Components 窗口展開 Business View 下的 Time,把 CURRENT_YEAR 拖拽到 Expression definition 窗口。編輯表達式為:cast([Business View].[Time].[CURRENT_YEAR], char(4)) 后點擊 OK。
          8. 在下方窗口選擇 Year Caption 的 Role 為 _memberCaption,然后點擊 Close。 

            圖 15. 層次結構面板
            層次結構面板 

          9. 從 Available items 窗格把 QUARTER_KEY 拖拽到 Hierarchies 窗格的 Year 層下方。重命名為 Quarter,然后指定 QUARTER_KEY 為 _businessKey 的 Role。
          10. 仿照 57 和 58 步驟,添加 Quarter Caption 項,表達式為 cast([Business View].[Time].[CURRENT_QUARTER], char(1))。指定 Role 為 _memberCaption。
          11. 從 Available items 窗格把 MONTH_KEY 拖拽到 Hierarchies 窗格的 Quarter 層下方。重命名為 Month,然后指定 MONTH_KEY 為 _businessKey 的 Role。
          12. 從 Available items 窗格把 CURRENT_MONTH 拖拽到右下方窗口,選擇 _memberCaption。
          13. 從 Available items 窗格把 DAY_KEY 拖拽到 Hierarchies 窗格的 Month 層下方。重命名為 Day。注意 DAY_KEY 已經是 _businessKey 的 Role,這是因為 DAY_KEY 是表的主鍵,屬性是 Identifier。
          14. 從 Available items 窗格把 DAY_DATE 拖拽到右下方窗口,選擇 _memberCaption。命名為 Day Caption。點擊 Source 編輯定義為 cast([Business View].[Time].[DAY_DATE], char(10))。點擊 OK,因為日期是唯一的,勾選 Unique Level 選項。 

            圖 16. 時間維度
            時間維度 

          15. 時間維度的排序往往很有用,比如利用 Lag 函數查看當前月和上月的數據就需要成員排序。點擊 Member Sort 標簽頁,在 Sorting Options 中,勾選 Metadata、Data 和 Always (OLAP compatible)。點擊 Detect 來檢測用在 Level Sort Properties 定義的字段,如圖 17 所示。最后點擊 OK。 

            圖 17. 成員排序
            成員排序 

          16. 重命名 New Dimension 為 Time。
          17. 您可以參照上面的步驟,在您的模型中添加 Products 維度,結果如圖 18 所示。在 Available items 窗格,展開 Business View 下的 Products。
            • Product Line 層的 _businessKey 是 PRODUCT_LINE_CODE。
            • Product Line 層的 _memberCaption 是 PRODUCT_LINE_EN。
            • Product Type 層的 _businessKey 是 PRODUCT_TYPE_KEY。
            • Product Type 層的 _memberCaption 是 PRODUCT_TYPE_EN。
            • Product Name 層的 _businessKey 是 PRODUCT_KEY。
            • Product Name 層的 _memberCaption 是 PRODUCT_NAME。


            圖 18. 產品維度
            產品維度 

          18. 您可以仿照上面的步驟,在您的模型中添加 Order Methods 維度,結果如圖 19 所示。在 Available items 窗格,展開 Business View 下的 Order Methods。
            • Order Methods 層的 _businessKey 是 ORDER_METHOD_KEY。
            • Order Methods 層的 _memberCaption 是 ORDER_METHOD_EN。


            圖 19. 訂購方法維度
            訂購方法維度 



          度量維度

          度量維度是一個事實邏輯集合,可以實現對關系型數據源進行 OLAP 風格的查詢。度量維度是表達常規維度所描述的數量數據。接下來您將創建度量維度。

          1. 右鍵點擊 Dimensional View,選擇 Create,然后點擊 Measure Dimension。
          2. 在 Model Objects 窗格,展開 Business View 下面的 Sales Fact,按住 Shift 選擇從 QUANTITY 到 Break Even Point 的所有字段,拖拽到 Measures 窗格,如圖 20 所示。 

            圖 20. 度量維度
            度量維度 

          3. 點擊 OK。重命名 new Dimension 為 Sales Fact。
          4. 重復 69 到 71 的步驟,創建 Sales Target Fact 的 Measure Dimension,選擇 Business View 下面 Sales Target Fact 的 SALES_TARGET。


          范圍關系

          范圍關系僅存在于度量維度和標準維度之間,定義可以用于報表的度量所在的層。在范圍關系中沒有設置控制查詢生成方式的條件,因此前面的關系定義仍然需要, 以便生成 SQL 語句。如果度量維度和標準維度之間有關系定義的話,范圍關系會自動創建,比如您的模型就會自動創建范圍關系。

          1. 雙擊 Dimensional View 命名空間,選擇 Diagram 標簽您可以看到范圍關系如圖 21 所示。您可以雙擊關系來編輯范圍,接下來用 Dimension Map 標簽來編輯范圍關系會更容易。 

            圖 21. 范圍關系
            范圍關系 

          2. 選擇 Dimension Map 標簽,點擊 Sales Target Fact,可以看到所有的維度都是高亮顯示,這表明目前都在范圍內。現在您想讓 Order Methods 不在 Sales Target Fact 范圍內,而且 Sales Target Fact 的范圍只能是 Time 的 Month 層和 Products 的 Product Type 層。
          3. 點擊 Month 層,工具欄上點擊 Set Scope 按鈕。
          4. 點擊 Product Type 層,工具欄上點擊 Set Scope 按鈕。
          5. 點擊 Order Methods 維度,工具欄上點擊 Remove Scope 按鈕。 

            圖 22. 設置 Sales Target Fact 范圍
            設置 Sales Target Fact 范圍 

          創建和管理包

          模型設計和定義結束以后,需要通過 Framework Manager 的管理和發布包的功能,將它發布到 Cognos 服務器上去,業務人員就能基于發布好的模型,定制我們需要的查詢報表和分析報表。在發布之前,您需要在 Presentation View 下創建準備發布的命名空間。

          1. 在 Project Viewer 窗格,右鍵 Presentation View 點擊 Create,選擇 Namespace,重命名為 Query,用來做關系型報表。把 Presentation View 下的 Sales Target 和 Sales 命名空間拖拽到 Query 命名空間下。
          2. 在 Project Viewer 窗格,右鍵 Presentation View 點擊 Create,選擇 Namespace,重命名為 Analysis,用來做維度型分析。接著需要創建維度建模的 Star Schema Grouping 然后放置到 Analysis 命名空間下。
          3. 右鍵點擊 Dimensional View 下的 Sales Fact,選擇 Create Star Schema Grouping,如圖 23 所示。然后點擊 OK。 

            圖 23. 維度建模的 Star Schema Grouping
            維度建模的 Star Schema Grouping 

          4. 右鍵點擊 Dimensional View 下的 Sales Target Fact,選擇 Create Star Schema Grouping,然后點擊 OK。
          5. 拖拽新創建的兩個命名空間到 Analysis 命名空間下。最后的 Presentation View 如圖 24 所示。 

            圖 24. Presentation View
            Presentation View 

          6. 在 Project Viewer 窗格,右鍵 Packages 文件夾,點擊 Create,選擇 Package。
          7. Name 輸入 My Query,然后點擊 Next。
          8. 清除 Model 命名空間的選擇,僅僅選擇 Presentation View 下面的 Sales Target 和 Sales,如圖 25 所示。 

            圖 25. 定義 My Query 包的內容
            定義 My Query 包的內容 

          9. 點擊 Next,然后設置包函數列表,缺省是包含全部的函數,這里只需要保留 DB2,移除其他的。
          10. 點擊 Finish,當提示要啟動 Publish Package Wizard,選擇 Yes。
          11. 包缺省是放置在 Cognos > 公共文件夾,您可以改成 Cognos > 我的文件夾。去掉 Enable model versioning 的選擇。點擊 Next。
          12. 在 Add Security 可以設置包的訪問權限和管理權限,然后點擊 Next。
          13. 確保選擇了 Verify the package before publishing,然后點擊 Publish。
          14. 發布成功后點擊 Close。

          重復步驟 83 到 91 發布 My Analysis,這次只選擇 Sales Target Fact 和 Sales Fact 命名空間,如圖 26 所示。 

          圖 26. 定義 My Analysis 包的內容
          定義 My Analysis 包的內容 

          安全性

          在 Framework Manager 中,安全性是一種對 Cognos 產品的元數據和數據的權限進行限制的一種方法。對數據的訪問進行限制有很多業務原因。 例如,有些數據可能含有絕密數據,只允許特定用戶進行查看;可能有各種數據,用戶只需要從特定的表或列中檢索數據;或者表中含有很多記錄,您的用戶只需要 檢索該表記錄的子集。

          Framework Manager 中有三種安全性類型,每個類型都按照用戶、組和角色來定義權限。

          • 給對象提供可視權限(基于對象安全)

            這是通過保持對象的可見性或者隱藏該對象來給對象提供安全性。

            您點擊需要進行安全設置的對象,從 Actions 菜單,選擇 Specify Object Security,然后根據用戶、組和角色來設置允許或者拒絕訪問。

          • 定義安全性過濾(數據安全性)

            這是創建一個安全性過濾并將其應用到特定的查詢主題。當報表作者設置報表時,該過濾可以控制顯示給報表作者的數據。

            您點擊查詢對象,從 Actions 菜單,選擇 Specify Data Security,然后設置用戶、組和角色,在 Filter 列上,選擇 Create/Edit Embedded filter 或者 Insert from Model 來使用過濾來控制安全性。

          • 設定包訪問權限 (元數據安全性)

            這是對包訪問設置應用安全性,確定哪些用戶有權訪問該包。

            剛才您在發布包的 Add Security 步驟可以進行設置,也可以在 Framework Manager 中點擊需要設置的包,從 Actions 菜單點擊 Package,選擇 Edit Package Settings 來設置。

            總結

            您已經成功建立了第一個元數據模型,并創建并發布包以便業務人員和開發人員使用。在 IBM Cognos Connection 可以看到您剛才發布兩個包,如圖 27 所示。


            圖 27. 在 IBM Cognos Connection 中查看
            在 IBM Cognos Connection 中查看 

            接下來您就可以用這兩個包來進行報表設計和自助分析了。您可以使用 My Analysis 包來進行多維分析,可以在 Business Insight Advanced 使用層次、成員、屬性、度量等多維模型元素,如圖 28 所示。


            圖 28. 用 Business Insight Advanced 進行自助分析
            用 Business Insight Advanced 進行自助分析 

            您也可以用 My Query 包來進行報表設計,包括用 Report Studio 來設計交互式離線報表,如圖 29 所示。


            圖 29. 用 Report Studio 進行報表設計
            用 Report Studio 進行報表設計
          主站蜘蛛池模板: 措勤县| 余干县| 龙井市| 洱源县| 柞水县| 东港市| 元氏县| 马尔康县| 荣成市| 浪卡子县| 宝坻区| 宁波市| 霍山县| 常山县| 蕉岭县| 陵水| 冀州市| 漳平市| 闽侯县| 虹口区| 呼和浩特市| 永德县| 佛教| 喀喇| 龙州县| 昌图县| 青河县| 梅州市| 临江市| 五家渠市| 郁南县| 虎林市| 汉阴县| 东乌珠穆沁旗| 平邑县| 祁阳县| 尼木县| 山东| 锡林浩特市| 岳西县| 洛阳市|