1. 程式人生 > >Cognos 10 體驗魅力之6: 第一個元資料模型

Cognos 10 體驗魅力之6: 第一個元資料模型

為什麼需要元資料模型

您已經熟悉使用 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 檔案。

    圖 1. 專案
    圖片示例 

  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 進行報表設計