資料倉儲中心管理手冊

轉換目標表格

您可以使用倉儲轉換程式來執行下列基本資料轉換:

清除資料

使用「清除資料」轉換程式,可以在表格上執行以規則為基礎的尋找及置換作業。該轉換程式會找出您在步驟所存取之來源表格的資料直欄中指定的值。之後,該轉換程式會以您在步驟所寫入之表格內指定的置換值來更新對應的直欄。您可以從輸入表格選取多個直欄,讓它們轉記到輸出表格中。「清除資料」轉換程式未定義轉記直欄的規則或參數。

載入或匯入之後,您可以使用清除資料轉換程式來清除資料並建立資料值標準,讓它成為程序的一部份。請勿將這個轉換程式當作一般的資料直欄編輯器來使用。

您可以使用「清除資料」轉換程式 來執行下列作業:

只有來源表格及目標表格在相同的資料庫中,您才能使用「清除資料」轉換程式。來源表格必須是單一的倉儲表格。目標表格則是預設目標表格。

您可以選擇在尋找字串期間忽略大小寫和空格,也可以指定數值資料的容差值。

您只能變更處於開發模式的步驟。

您指定的每一個清除轉換會使用四種清除類型之一:

尋找及置換
執行基本的尋找及置換功能。

離散化
在值的範圍內執行尋找及置換功能。

裁剪
在值的範圍之內或之外執行尋找及置換功能。

轉記
指定輸入表格中的直欄,將其複製到輸出表格中。

先決條件:使用「清除資料」轉換程式之前,您必須先建立清除類型的規則表格。規則表格指定「清除資料」轉換程式在尋找及置換程序期間所使用的值。規則表格必須與來源表格及目標表格在同一個資料庫中。

建立清除轉換程式的規則表格

規則表格最少必須包含兩個直欄。一個直欄包含尋找值。另一個直欄包含置換值。每個直欄中的列都彼此相對映。

例如,規則表格中的直欄 1 及直欄 2 有如下顯示的值:
直欄 1 直欄 2
桌子 椅子
表格

假設「直欄 1」包含尋找值,「直欄 2」包含置換值。當您執行該步驟時,「清除資料」轉換程式搜尋來源直欄的值「桌子」。無論在哪裡找到值「桌子」,都會在目標直欄之對應欄位中寫入值「椅子」。

「清除資料」轉換程式會將尋找直欄中未列示的值直接複製到目標表格。在此範例中,值「凳子」未列示在包含尋找值的直欄中。如果所選取的來源直欄包含值「凳子」,「清除」轉換程式會將「凳子」寫入目標直欄中對應的欄位。

下列表格說明必須包含在每個清除類型之規則表格中的直欄:
清除類型 規則表格中的最小直欄數 直欄目的
尋找及置換 2 - 3

第一個直欄包含尋找值。

第二個直欄包含取代值。

第三個直欄 (如果已指定) 包含規則指令資訊,但不是必要的。

離散化 3 - 4

第一個直欄包含尋找值範圍的下限值。

第二個直欄包含尋找值範圍的上限值。

第三個直欄包含置換值。

第四個直欄 (如果已指定) 包含規則指令資訊,但不是必要的。

裁剪 3 - 5

第一個直欄包含尋找值範圍的下限值。

第二個直欄包含尋找值範圍的上限值。

第三個直欄包含置換值的下限值。

第四個直欄包含置換值的上限值。

第五個直欄 (如果已指定) 包含規則指令資訊,但不是必要的。

要訣:當使用「裁剪」清除類型時, 您可以執行在值範圍之外搜尋的尋找及置換程序。

轉記 無容許 未使用的規則表格

您可以使用「步驟」筆記本來重新排序輸出直欄。您可以變更「步驟」筆記本之「直欄對映」頁上的直欄名稱。

定義「清除資料」轉換程式

若要定義「清除資料」轉換程式:

  1. 開啟步驟筆記本。
  2. 指定關於轉換程式的一般資訊。相關資訊,請參閱提供關於步驟的一般資訊
  3. 在「參數」頁上,定義您要在執行步驟時執行的清除轉換。在「轉換程式」定義表格上的任何地方按一下滑鼠右鍵,再按一下新增。一列橫列會新增到該表格。
  4. 在您剛新增之列中的「輸入」直欄標頭下,按一下並選取包含將要清除之資料的直欄名稱。
  5. 清除類型清單中,當步驟執行時,選取將在輸入直欄上執行的清除轉換類型。

    若要將您的輸入直欄複製到目標表格,而不作任何變更,請按一下轉記。此時無法使用「規則」清單及「參數」清單。繼續執行步驟 7。

  6. 在「規則」清單中,按一下 ...,以指定步驟要用於您所選取之清除類型的規則表格。如此會開啟視窗。該視窗上的欄位會因您做出的選擇而不同。使用此視窗,來定義您所選取的清除類型規則。
  7. 在「參數」直欄中,按一下 ...。依輸入直欄欄位中所指定之直欄的資料類型的不同,會開啟「字串參數」視窗或「數字參數」視窗。

    使用「字串參數」視窗中的控制項來自行設定「清除資料」轉換程式執行尋找及置換作業的方法。若要指定字串參數的資訊:

    1. 在「指定字串設定值」區域中,選取適用的勾選框,以:
      • 壓縮空格。會除去開頭及尾端的空格。兩個或兩個以上連續的內部空格會壓縮為一個空格。
      • 比對時忽略空格。空格會從輸入直欄、尋找、高界限及低界限直欄除去。
      • 忽略大小寫。當「清除」轉換程式執行相配處理程序時會忽略大小寫。
      • 如果值與規則表格中的直欄相符,則不要將其複製。如果值與規則表格中的直欄相符,則不要複製該值。
    2. 在「跳離字元」欄位中,鍵入跳離字元。例如,您可以指定 \。您無法使用字元 % 或 _。空白欄位並不表示空白字元就是跳離字元。
    3. 按一下確定,儲存變更並關閉視窗。

    使用「數字參數」視窗中的控制項以指定轉換之容錯度的數值。預設值是 0.0。容錯度的數值是您應用於數字尋找值的數字。容錯度的數值容許剛超出尋找值或尋找值範圍之外的置換值。例如,您使用「離散化」清除類型,以下列方式取代尋找值數字範圍:用 1000 取代 23.50 -24.50。如果您指定容差為 0.10,則輸入資料 23.40 和 24.60 也會被 1000 取代。

    若要指定容錯度的數值,請:

    1. 在「容錯度的數值」欄位中,鍵入容錯度的數值。
    2. 如果您不想讓「清除資料」轉換程式在值與規則表格中的直欄相符時複製該值,請選取找到符合的規則時不要將紀錄複製到輸出(D) 勾選框。
    3. 按一下確定,儲存變更並關閉視窗。
  8. 依需要定義清除類型,數量不限。完成時,請按一下直欄對映標籤。如果想要修改直欄對映,請參閱定義直欄對映資訊
  9. 在「處理程序選項」頁上提供了如何處理步驟的資訊。相關資訊,請參閱定義處理程序選項
  10. 按一下確定,以儲存變更並關閉步驟筆記本。

產生鍵直欄

使用「產生鍵值表」轉換程式來將唯一鍵新增到倉儲表格。

您可以使用兩種方式來變更鍵直欄中的值:

「產生鍵值表」轉換程式使用倉儲目標表格作為來源。轉換程式對倉儲目標的表格進行寫入作業。定義此步驟之前,使用箭頭指向該步驟來將倉儲目標鏈結到「程序模型」視窗中的步驟。您只能變更處於開發模式的步驟。


Figure db2db030 not displayed.

此步驟無法使用直欄對映。

若要定義「產生鍵值表」轉換程式,請:

  1. 開啟步驟筆記本。
  2. 指定關於轉換程式的一般資訊。相關資訊,請參閱提供關於步驟的一般資訊
  3. 在「參數」頁上的可用的直欄清單中,按一下您要對其指定索引鍵值的直欄。然後,按一下 >。 選取的直欄不必一定是主要鍵直欄。


    Figure db2db029 not displayed.

  4. 指定您要根據所選取步驟中的直欄來更新鍵直欄中的值,還是要置換所有現存鍵直欄中的鍵直欄值。

    若要根據所選步驟中的直欄來更新鍵直欄中的值:

    1. 按一下鍵直欄中的更新值
    2. 鍵值表格名稱清單中,在倉儲目標中選取包含目標表格的表格。您選取的表格必須包含已產生鍵值所依據的直欄。
    3. 直欄名稱清單中,按一下您剛指定的已產生鍵值所依據的表格中的直欄。
    4. 依右列數值增加鍵值欄位中,鍵入數字增量值。

    若要置換現存鍵直欄中的所有鍵直欄值:

    1. 按一下置換所有的鍵直欄值(R)
    2. 開始鍵值於欄位中,鍵入開始鍵值。
    3. 依右列數值增加鍵值欄位中,鍵入數字增量值。
  5. 在「處理程序選項」頁上提供了如何處理步驟的資訊。相關資訊,請參閱定義處理程序選項
  6. 按一下確定,以儲存變更並關閉步驟筆記本。

產生週期資料

使用「產生週期表」轉換程式來建立包含日期資訊直欄的週期表格 (例如,判定一定時間週期內的銷售量),您可以在評估其它資料時,使用該日期資訊。

您可以依下列方式使用週期表格:

「產生週期表」轉換程式只能在目標表格上執行。若要順利使用該轉換程式,您必須將該轉換程式連接到目標。


Figure db2db031 not displayed.

您只能變更處於開發模式之步驟的步驟定義。

若要定義「產生週期表」轉換程式,請:

  1. 開啟步驟筆記本。
  2. 指定關於轉換程式的一般資訊。相關資訊,請參閱提供關於步驟的一般資訊
  3. 在「參數」頁上的解析度清單中,按一下週期表格之日期、時間或時間戳記直欄的解析度。


    Figure db2db032 not displayed.

  4. 選取日期或時間勾選框(或者兩者都選)來指定開始週期值。之後,設定開始日期或時間 (或兩者都設定):
  5. 使用列數,或使用結束日期及時間 (或使用兩者) 來指定結束週期值:
  6. 選用項目:在「直欄對映」頁上,檢視或變更您的直欄對映。相關資訊,請參閱定義直欄對映資訊
  7. 在「處理程序選項」頁上提供了如何處理步驟的資訊。相關資訊,請參閱定義處理程序選項
  8. 按一下確定,以儲存變更並關閉步驟筆記本。

反轉資料

您可以使用「反轉資料」轉換程式來反轉表格內的列和直欄。當您使用「反轉資料」轉換程式時,來源表格的列會成為輸出表格的直欄,輸入表格的直欄則為輸出表格的列。直欄之間從上到下的資料次序會保留下來,變成列之後,會成為從左到右。

比方說,您可以將輸入表格想成一個矩陣。這個轉換程式會沿著表格左上角到右下角的對角線,交換表格內的資料。之後,這個轉換程式會將轉換過的資料寫入目標表格中。

您可以指定一個額外的直欄,其中含有從 1 開始的序數資料。這個直欄可幫助您在轉換程式反轉表格之後,將各個列識別出來。

您也可以在來源表格中,指定一個要用作輸出表格內各直欄名稱的直欄。這個直欄稱為基準直欄。

每個基準群組中的分欄資料都必須有相同的資料類型,或是可透過自動昇級而彼此關聯的資料類型。資料類型自動昇級的相關資訊,請參閱 IBM DB2 Universal Database: SQL Reference

先決條件:開始此作業之前,您必須先將倉儲資料庫中的來源表格連接到該步驟。您也可以指定該步驟將要對其進行寫入作業的目標表格,或者指定該步驟建立目標表格。

「反轉資料」轉換程式捨棄該現存的資料庫表格,並在每次執行期間重建之。每次使用此轉換程式執行步驟時,都會取代現存的資料,但是表格空間及表格索引會保留。

使用「反轉資料」轉換程式的步驟必須提昇為生產模式之後,您才可以看到生產的實際資料。

此步驟不使用「直欄對映」頁。

若要定義「反轉資料」轉換程式,請:

  1. 開啟步驟筆記本。
  2. 指定關於轉換程式的一般資訊。相關資訊,請參閱提供關於步驟的一般資訊
  3. 在「參數」頁上的可用的直欄清單中,按一下包含目標表格直欄名稱之直欄的名稱。然後,按一下 >將所選取的直欄移到基準直欄欄位中。此直欄中的資料必須有下列一或多個資料類型:


    Figure db2db033 not displayed.

    基準直欄中的全部資料必須少於 18 個字元。在需要物件名稱為大寫字體的 DB2 系統上,英文字母會變更為大寫字體。

    如果您不選取直欄,該轉換程式會假設表格只包含它應該反轉的全部原始資料。然後,該轉換程式會根據直欄號碼建立目標表格的直欄名稱。第一個直欄命名為 1,第二個直欄命名為 2,以此類推。

  4. 選用項目:選取輸出勾選框中的併入順序直欄(I),以在包含已排序號碼清單的輸出表格中建立直欄。號碼清單開始於 1,並且增量為 1。
  5. 如果您的步驟未連接到目標表格,請選取根據參數建立倉儲目標表格(C)
  6. 如果您選取了根據參數建立倉儲目標表格(C),請再選取倉儲目標清單中的倉儲目標。
  7. 在「處理程序選項」頁上提供了如何處理步驟的資訊。相關資訊,請參閱定義處理程序選項
  8. 按一下確定,以儲存變更並關閉步驟筆記本。

設定基準資料

使用「基準資料」轉換程式,可以將相關資料從來源表格中所選取的直欄 (稱為基準直欄) 中分組到目標表格的單一直欄 (稱為基準群組直欄)。您可以建立多個基準群組直欄。

您可以從來源表格選取多個直欄,讓它們轉記到輸出表格中。「基準資料」轉換程式不會變更這些直欄中的資料。

您可以指定一個額外的直欄,其中含有從 1 開始的序數資料。這個直欄可幫助您在轉換程式反轉表格之後,將各個列識別出來。

每個基準群組中的分欄資料都必須有相同的資料類型,或是可透過自動昇級而彼此關聯的資料類型。資料類型自動昇級的相關資訊,請參閱 IBM DB2 Universal Database: SQL Reference

開始此作業之前,先將倉儲來源表格連接到「程序模型」視窗中的步驟。「基準資料」轉換程式使用相同資料庫中的現存目標表格,或者在包含倉儲來源的相同資料庫中建立目標表格。您只可以變更處於開發模式之步驟的步驟定義。


Figure db2db034 not displayed.

若要定義轉換程式:

  1. 開啟步驟筆記本。
  2. 指定關於轉換程式的一般資訊。相關資訊,請參閱提供關於步驟的一般資訊
  3. 按一下參數標籤。


    Figure db2db035 not displayed.

  4. 選用項目:在可用的直欄清單中,按一下您要轉記到目標表格而又不作任何變更的直欄。再按一下轉記直欄清單旁的 >。若要選取多個直欄,請在按一下直欄的同時按住 Ctrl 鍵。
  5. 可用的直欄清單中,按一下您要用作基準直欄的直欄。再按一下基準直欄清單旁的 >
  6. 基準群組數目欄位中,鍵入您要建立的基準群組數目。您鍵入的群組數目必須是您所選取之基準直欄數目的約數。例如,如果您選取了 6 個基準直欄,您可以鍵入數字 1、2、3 或 6。如果您選取了 5 個基準直欄,您可以在此欄位中鍵入 1 或 5。
  7. 如果您選取了基準直欄,請指定每個基準直欄的資料群組及基準群組:
    1. 在「基準資料轉換程式」筆記本的「參數」頁上,按一下進階。如此會開啟「基準資料轉換程式 - 進階」視窗。


      Figure db2db036 not displayed.

      使用此視窗中的表格,可以定義您的基準群組。此表格中顯示的列數會因您在「參數」頁上所選取的基準直欄數目和指定的基準群組數目而不同。例如,如果您選取了 6 個基準直欄和 2 個基準群組,則會顯示 3 列。

    2. 按一下資料群組欄位。然後,鍵入資料群組的名稱。一個資料群組就是目標表格中的一個直欄。此直欄用來說明或標註收集在基準群組直欄中的資訊,使輸入表格的直欄標籤所呈現的資料原始意義,保留在輸出表格中。如果您將此欄位留為空白,並且只有一個基準群組,則基準直欄的名稱會在步驟執行時轉到所產生之結果輸出直欄的資料欄位中。
    3. 為每個基準群組選取基準直欄。在此表格中顯示的基準群組數目與您在「參數」頁上指定的基準群組數目相同。若要選取基準直欄,請按兩下基準群組欄位並選取直欄。您無法為多個基準群組選取直欄。您必須為基準群組中每個欄位選取直欄。
    4. 按一下確定。如此會關閉「基準資料轉換程式 - 進階」視窗。

    如果您在「基準資料轉換程式」視窗中變更所選取的基準直欄,則您在此視窗中指定的資料群組及基準群組值會重設為空白。

  8. 如果您想併入輸出表格中號碼已排序的直欄,請選取在輸出中併入順序直欄(I) 勾選框。
  9. 選用項目:在「直欄對映」頁上,檢視或修改您的直欄對映。相關資訊,請參閱定義直欄對映資訊
  10. 在「處理程序選項」頁上提供了如何處理步驟的資訊。詳細資訊,請參閱定義處理程序選項
  11. 按一下確定,以儲存變更並關閉步驟筆記本。

變更日期欄位的格式

使用 FormatDate 轉換程式,可以變更您的步驟將要複製到預設目標表格之來源表格中的日期欄位格式。您可以搭配任何其它轉換程式或倉儲程式來執行這個轉換程式。

FormatDate 轉換程式有多種標準日期格式,可讓您指定給輸入和輸出直欄。如果輸入直欄內的日期不符合指定的格式,轉換程式 會在輸出表格內寫入空值。

如果格式清單中沒有您要用的格式,您可以在「轉換程式」視窗的格式化字串欄位內輸入一個格式。例如,如果輸入直欄內的日期結構類似 Mar 2, 96Jul 15, 83,您可以輸入 MMM D, YY

輸入直欄欄位中選取之直欄的資料類型決定輸出直欄的資料類型。例如:

若要使用 FormatDate 轉換程式,請:

  1. 建立步驟,在安裝轉換程式的倉儲目標中,產生預設目標表格。
  2. 鏈結到來源表格。
  3. 從「SQL 陳述式」頁,按一下建置 SQL
  4. 按一下直欄欄標。
  5. 按一下新增

    如此會開啟「表示式建置器」。

  6. 在「表示式建置器」中,按兩下函數名稱清單中的 FormatDate

    如此會開啟「函數引數 - FormatDate」視窗。

  7. 在包含您要重新設定格式之日期或時間資訊的可用的直欄清單中,按一下直欄,再按一下 > 將所選取的欄位放在輸入直欄中。
  8. 在該視窗的輸入格式區域中,指定輸入格式:
    1. 種類清單中選取輸入直欄的種類。
    2. 格式清單中選取日期、時間或時間戳記的格式。 範例清單顯示您選取之格式的範例。格式字串欄位確認您的選擇。您也可以在格式字串欄位中直接鍵入格式來指定格式。
  9. 在該視窗的輸出格式區域中,指定輸出格式:
    1. 種類清單中選取輸出直欄的種類。
    2. 格式清單中選取日期、時間或時間戳記的格式。 範例清單顯示您選取之格式的範例。格式字串欄位確認您的選擇。您也可以在格式字串欄位中直接鍵入格式來指定格式。
  10. 按一下確定

    如此即會關閉「函數引數 - FormatDate」視窗,並且其表示式會顯示在「表示式建置器」視窗中。


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]