2013-05-17 39 views
1

我對ODI相當陌生。我正在試着在我的桌子上做SCD。ODI中尺寸緩慢變化

我的源表包含ID,名稱和地址,目標表包含的ID,姓名,地址和strt_date

我選擇了一個OLAP類型SCD我的目標表。下面SCD行爲也適用於每列:

  • 編號:天然關鍵
  • 名稱:上改變覆蓋
  • 地址:添加行的變化
  • Strt_date:啓動時間戳

我選擇IKM作爲IKM oracle緩慢更改尺寸

我在執行時遇到錯誤:

產生的原因:java.sql.SQLSyntaxErrorException:ORA-01747:無效user.table.column,TABLE.COLUMN,或列規格

我丟失了一些重要的一步?

回答

1

我假定你正在尋找SCD型2.你的目標表還需要以下幾列

  1. NEW_ID:代理鍵
  2. END_DATE:結束時間戳
  3. Current_record_flag:當前記錄標誌

接口中列的映射必須是

  1. NEW_ID:your_sequence.nextval執行上:目標
  2. END_DATE:TO_DATE( 「2400年1月1日」, 'DD-MM-YYYY')執行上:目標
  3. Current_record_flag:1執行上:目標

此外,請確保您在以前的實驗中沒有禁用KM中的任何步驟。它發生在我身上幾次!

我也是ODI的新手,但這是我做到的,它的工作原理。

參考

+0

感謝您repling ....我的疑問是,每次當我們使用SCD,包括這些字段是強制性的? – priya77

+0

是的。您可以看到爲什麼打開IKM Oracle Slowly Changing Dimension,Details選項卡並查看某個步驟的代碼(可以說查看舊行)。在這裏你可以看到諸如「SCD_NK,SCD_END」之類的東西,當sql腳本創建時它將被實際的列所取代。所以他們是需要的。你有沒有設法實施SCD? –

+0

@AP是的......我做到了...... thnx爲您寶貴的答案和參考 – priya77