建立對映指令碼

對於「類似」對映,您可以建立對映指令碼以指定條件式對映。此對映類型可讓您指定對映至指令碼表示式的來源成員,而非對映至硬式編碼的目標成員。目標值是在指令碼值中指派。您可以在 SQL 指令碼的「目標值」欄位中輸入 #SQL,以啟動對映指令碼。(使用指令碼的列具有 #SQL 的目標值)。下一列具有 <!SCRIPT> 分隔符號與實際指令碼,後面接著 <!SCRIPT>。對映指令碼搭配維度處理順序,可啟用以維度對映結果為基礎的對映。也就是說,維度對映已經過處理。請參閱使用對映指令碼

若要建立對映指令碼,請執行下列動作:

  1. 工作流程頁籤中,選取資料載入對映
  2. 選擇性:選取所要的位置。
  3. 選取類似頁籤。

    對映指令碼不適用於「明確」和「多維度」對映類型。

  4. 選取來源值
  5. 目標值中,選取下列其中一項:
    • 對於以 Jython 為基礎的對映指令碼,請輸入 #SCRIPT

    • 對於以 SQL 為基礎的對映指令碼,請輸入 #SQL

      如果是以 SQL 為基礎的對映, Oracle Hyperion Financial Data Quality Management, Enterprise Edition 會指定特殊值 #SQL 給「目標值」。基於這個原因,此欄位不可用來指定 "IGNORE" 值。如果要標示一列,請使用 VALID_FLAG = "Y" (列有效)、VALID_FLAG = "N" (列無效) 或 VALID_FLAG = "I" (根據使用者定義的準則來忽略列)。

      例如,如果您要對映空值項目以忽略那些項目,請指定維度的資料表格欄,然後指定 VALID_FLAG = "I"。在下列範例中,UD3 識別產品維度的資料表格欄。

      影像顯示「指令碼編輯器」

  6. 規則名稱中,輸入對映的資料規則名稱。
  7. 按一下儲存

    將會啟用「指令碼編輯器」圖示 (影像顯示「指令碼編輯器」圖示)。

  8. 按一下「指令碼編輯器」圖示。
  9. 編輯指令碼中,輸入對映指令碼,然後按一下確定

    例如,下列以 Jython 為基礎的對映指令碼會在帳戶的開頭兩個字元等於 11 及實體等於 01 時進行檢查。如果出現相符,則目標會設定為 Cash2,以及目標金額設定為 0。此外,指令碼還會更新 TDATASEG 表格中的 attribute1 欄。(請參閱 TDATASEG 表格參照)。此指令碼使用 fdmResultMap 物件 (請參閱在對映指令碼使用 Jython 物件)。


    影像顯示「編輯指令碼」畫面

    在此範例中,使用 SQL 指令碼,並在 SQL CASE 陳述式中實作邏輯。內部 UPDATE 陳述式的 SET 命令中使用 CASE 陳述式。以下的對映陳述式轉換為列出的 UPDATE 陳述式


    影像顯示內含以 SQL 為基礎的對映指令碼的「編輯指令碼」畫面。
    UPDATE TDATASEG  
    SET ACCOUNTX =
    CASE
                  WHEN ACCOUNT LIKE ‘L%’ AND ICP = ‘000’ THEN ‘A4140‘
                  WHEN ACCOUNT IN (‘110’,’120’,’130’) THEN ‘A100’’
                  ELSE ‘A’ || ACCOUNT
    END
    ,DESC1 = COALESCE(DESC1, ACCOUNT || ‘.’ || ICP)
    WHERE ACCOUNT …..