< 上一個課程 | 下一個課程 >

課程 1.2:修改現有的 Data Manager 建置

在此課程中,您將學習如何自訂現有的 Data Manager 建置來擷取資料、轉換資料並將其載入資料倉儲。
必要條件:

在課程 1.1 中,您透過將屬性新增至資料表的方式修改了 Rational® ClearQuest® 資料配置檔。 現在需要將這些屬性放入建置串流內,這樣它們才能公開在報告中。

在此課程中,您將修改 Data Manager 建置,使新屬性進入資料收集處理程序。 您將學習如何自訂現有建置以擷取新屬性,以及轉換這些屬性並將其遞送至資料倉儲中。

準備 ETL 型錄
  1. 啟動 IBM® Cognos® Data Manager。
  2. 選取建立新型錄,將名稱指定為 RationalInsightETL,指定開始此課程之前建立的新空白資料庫的連線資訊,然後按一下完成
  3. 建立並開啟新型錄時,按一下檔案 > 還原型錄,然後選取 OOTBDMCatalog.ctg 檔案。 此檔案的預設位置是 [rational_insight_installation_directory]/datamgr/insight_catalog/ 目錄。
從資料來源擷取新屬性
  1. 展開資料夾建置及工作串流 > ODS > ClearQuest > CQEnterprise。 按一下 CQ_ENT_Defect
    概念: 在 Data Manager 中,將在事實或維度建置中指定 ETL。 事實建置遞送事實資料,也可遞送維度資料,因此您可從單個建置中建構專用資料集區。 維度建置可遞送資料,以說明單個業務維度,例如產品或客戶。 Rational Insight 使用事實建置,將資料載入合併的作業資料儲存處。 事實及維度建置用於建置資料集區或星狀綱目。 建置將組織到工作串流中,成為一系列步驟,這些步驟可在 Data Manager 中依順序執行,也可平行執行。
  2. 按兩下 RI_Stg 資料來源圖示。 按一下查詢標籤。
    資料來源圖示
    概念: 使用建置的資料來源元素,可選取建置所需的資料庫子集。

    在課程 1.1 中,您修改了 ClearQuest 問題實體,以公開相關的元件 ID 及狀態屬性。 在接下來的若干步驟中,您將修改資料來源查詢,以併入新的屬性。

  3. 展開 ClearQuest 節點以列出資料庫綱目(建模為 XML Data Configuration 中的資源群組)。 展開 CQEnterprise 綱目,以列出課程 1.1 的資料配置檔內 CQEnterprise 資源群組中定義的所有資料表。 展開 ENTDefect 表格以顯示所有已定義的直欄。

    您現在將修改現有的 SQL 以擷取 Component_dbid 與 Status 直欄。 請確保新增逗點來區隔直欄名稱。

  4. 將 ENTDefect 的 Status 與 Component_dbid 直欄從左側的畫面拖到右側的「SQL 查詢」畫面中。 將新直欄置於現有的 "href" 項目之後。 確保是以逗點來區隔直欄。
  5. 若要測試新的 SQL 陳述式,請按一下視窗左下方的
    播放圖示
    。 若要在視窗中指定變數,請鍵入 $RESOURCEGROUP 項目的綱目名稱 (CQEnterprise)。 將 $MODIFIED_SINCE 欄位保留空白,以便資料服務使用空值返回所有的記錄。
  6. 按一下結果直欄標籤,再按一下重新整理。 若要在視窗中指定變數,請鍵入 $RESOURCEGROUP 項目的綱目名稱 (CQEnterprise)。 將 $MODIFIED_SINCE 欄位保留空白,以便資料服務使用空值返回所有的記錄。 此標籤中定義的直欄是從步驟 7 中定義的 SQL 得到的直欄。這些直欄將用於下游物件。 按一下確定
    資料來源內容
  7. 資料串流上按一下滑鼠右鍵,然後選取內容。 在資料串流項目標籤上,按兩下左側畫面中的新直欄,將它們新增到資料串流中,然後按一下確定
    概念: 「資料串流」物件可收集建置或參照結構所需資料的所有資料來源。 這提供了一種方法來將不同的資料來源合併為一個物件。 在 RequisitePro® 建置中可看到這樣的範例。
您現在已在型錄中新增了一個直欄,並更新了轉換模型來反映此變更。

接下來,將 component_dbid 屬性轉換為資料倉儲中元件的代理索引鍵。

轉換屬性
  1. 轉換模型圖示上按一下滑鼠右鍵,然後按一下對映。
    概念: 轉換模型對於事實建置非常重要。 您可以許多方式使用它來操作獲得的來源資料,例如合併不同來源的資料以及聚集資料。 在此課程中,您將載入新的屬性,而不套用任何商業規則。
    資料串流對映
  2. 按兩下狀態資料串流。
    概念: 您將在轉換模型中建立新屬性,並將「資料串流」項目對映至屬性。
  3. 按一下新增,再按一下維度,將名稱指定為 Lookup_Component,然後選取(無參照)子節點。 按一下此節點右邊的按鈕。
    轉換模型對映
  4. 選取節點元件 > Lookup_Component,然後按一下確定
  5. 回到對映視窗。 在左側畫面中,選取 Component_dbid 資料串流項目,並在右側畫面中,選取 Lookup_Component=>EXTERNAL_KEY1 屬性,然後按一下 對映
    概念: 在接下來的若干步驟中,您將要建置資料倉儲中問題與元件實體之間的關係。 EXTERNAL_KEY1 指定元件的自然索引鍵(Rational ClearQuest 的 dbid)。 如果資料倉儲中存在此元件,查閱作業將返回代理索引鍵。 如果記錄不存在,建置將插入預設值 -1 項目,表示「資訊無法使用」。
  6. 按一下新增按鈕,再按一下屬性。 將名稱指定為 COMPONENT_ID,然後按兩次確定
  7. 轉換模型圖示上按一下滑鼠右鍵,然後選取顯示建置元素。按兩下 Lookup_Component, 按一下不符合的成員標籤,選取接受不符合的成員 ID,然後按一下確定
  8. 轉換模型標籤中的 COMPONENT_ID 屬性上按一下滑鼠右鍵,然後按一下轉換為衍生
  9. 轉換模型標籤中,按兩下 COMPONENT_ID 屬性,按一下計算標籤,然後鍵入下列程式碼:
    If NOT Unmatched( Lookup_Component )
    then RETURN Lookup_Component.COMPONENT_ID ;
    else RETURN -1; 
    按一下確定
    概念: 要為此類型的條件指定肯定符合,將在 Script 中使用雙重否定建構。
將屬性遞送至目標表格
  1. 按兩下 "{$ODS}"."REQUEST" 表格遞送。
  2. 表格內容標籤中,將直欄名稱指定為 STATUS 與 COMPONENT_ID,用於表示 Status 與 COMPONENT_ID 元素。 選取將直欄自動新增到表格中勾選框。 按一下確定
    概念: 由於您沒有修改資料倉儲中的問題表格來併入用於儲存新屬性的直欄,因此,如果直欄並不存在,而您又勾選了將直欄自動新增到表格中選項,則會導致表格被修改。 也可在執行 ETL 工作之前使用 Rational Data Architect 來修改表格,或在 ETL 工作修改了表格之後更新資料倉儲中的資料模型。
  3. 儲存型錄。
您現在已修改了現有建置。
在此課程中,您已:

載入新實體時,需要建立新的建置及修改現有建置,以將更多屬性新增到現有實體中。 在此課程中,您修改了現有建置。 在下一課程(課程 1.3)中,將建立新的建置。 ETL 處理程序的每個實體均需要一個建置。