與 Oracle EBS 整合
Oracle EBS (E-Business Suite) 整合功能支援「訂單到現金」資料模型,並使用 Incorta 擷取資料。Incorta 會使用代管或私人執行個體,將 Oracle 的資料擷取至 BigQuery CDC 資料集,並處理 CDC。接著,Cortex Framework 會使用 Cloud Composer 協調 BigQuery 工作,將 CDC 資料轉換並具體化為報表資產。
下圖說明如何透過 Oracle EBS 營運工作負載取得 Oracle EBS 資料:
Deployment 設定
下表列出設定 Oracle EBS 工作負載的參數:config.json
檔案會設定從任何資料來源 (包括 Oracle EBS) 轉移資料所需的設定。這個檔案包含 Oracle EBS 的下列參數:
參數 | 意義 | 預設值 | 說明 | 比對 Oracle 來源欄位 |
---|---|---|---|---|
OracleEBS.itemCategorySetIDs |
項目類別集 | [1100000425] |
用於分類項目的集合清單。 | MTL_ITEM_CATEGORIES.CATEGORY_SET_ID |
OracleEBS.currencyConversionType |
貨幣換算類型 | "Corporate" |
要在匯總表格中使用的貨幣轉換類型。 | GL_DAILY_RATES.CONVERSION_TYPE |
OracleEBS.currencyConversionTargets |
貨幣換算目標 | ["USD"] |
要納入匯總表格的目標幣別清單。 | GL_DAILY_RATES.TO_CURRENCY |
OracleEBS.languages |
語言 | ["US"] |
要顯示項目說明等欄位譯文的語言清單。 | FND_LANGUAGES.LANGUAGE_CODE |
OracleEBS.datasets.cdc |
CDC 資料集 | - | CDC 資料集。 | - |
OracleEBS.datasets.reporting |
報表資料集 | "REPORTING_OracleEBS" |
報表資料集。 | - |
資料擷取
請洽詢 Incorta 代表,並參閱 Oracle EBS for Google Cortex 設定指南,瞭解如何從 Oracle 擷取資料至 BigQuery。
建議設定
雖然 Incorta 支援以各種間隔排定資料擷取作業,但為獲得最佳效能和最新資料,建議您排定每天執行 Incorta 資料擷取作業。如果您的用途需要處理已刪除的資料,請務必按照 Incorta 說明文件「處理來源刪除作業」中的操作說明啟用這些資料。
報表設定
本節將說明環境所需的報表設定。
Cloud Composer Airflow 連線
建立名為 oracleebs_reporting_bq
的 BigQuery Airflow 連線,BigQuery 運算子會使用這項連線執行報表轉換。詳情請參閱「管理 Airflow 連線」說明文件。
Materializer 設定
在 src/OracleEBS/config/reporting_settings.yaml
中尋找具體化設定。
根據預設,維度、標題和匯總資料表每天都會具體化。報表層資料表也會依日期分區。如有需要,可以自訂分割區和叢集。詳情請參閱「叢集設定」和「資料表分區」。
資料模型
本節說明 Oracle EBS「訂單到現金」邏輯資料模型。每個小節都會說明下列 Oracle EBS 實體關係圖 (ERD)。
基本事實檢視畫面
這些是 ERD 中的藍色物件,也是 CDC 資料表上的檢視畫面,除了部分資料欄名稱別名外,沒有任何轉換。
維度資料表
這些是 ERD 中的紫色物件,包含報表資料表使用的相關維度屬性。根據預設,系統會根據部署設定參數值 (如適用) 篩選這些維度。這項整合功能也會使用 Cortex K9 公曆維度做為日期屬性,而這項維度預設會部署。
標頭表格
這些是 ERD 中的綠色物件,包含已聯結的事實和維度,用於說明訂單和發票等標頭層級的業務實體。標題表格會依據與每個實體相應的主要事件日期 (例如 ORDERED_DATE
或 INVOICE_DATE
) 分割。
巢狀和重複的行
SalesOrders
和 SalesInvoices
資料表包含名為 LINES
的巢狀重複欄位。這些欄位會將各種訂單明細和發票明細歸入相關標題下。如要查詢這些巢狀欄位,請使用 UNNEST
運算子將元素整併為資料列,如提供的範例指令碼 (src/OracleEBS/src/reporting/ddls/samples/
) 所示。
巢狀和重複屬性
部分表格含有額外的巢狀重複欄位,例如 ITEM_CATEGORIES
或 ITEM_DESCRIPTIONS
,其中相同屬性的多個值可能適用於實體。如果取消巢狀結構的重複屬性,請務必篩選出單一屬性值,以免過度計算指標。
已套用應收款項
SalesAppliedReceivables
是獨一無二的表格,因為實體可以參考自己的月結單,也可以參考附有現金收據的月結單。因此,有巢狀 (但非重複) 的 INVOICE
和 CASH_RECEIPT
欄位,其中 CASH_RECEIPT
欄位只會在 APPLICATION_TYPE = 'CASH'
時填入。
匯總資料表
這些是 ERD 中的紅色物件,並從標題表格匯總至每日指標。這些資料表也會依主要事件日期進行分區。匯總資料表只包含加總指標 (例如計數、總和),不包含平均值和比例等指標。也就是說,使用者必須推導出非加總指標,才能確保在匯總至較高細節程度 (例如每月) 時,指標能正確推導。請參閱 src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql
等範例指令碼。
貨幣換算金額
每個匯總資料表都會使用 CurrencyRateMD
維度,建立 AMOUNTS
的巢狀重複欄位,其中包含轉換為部署設定中指定各目標幣別的貨幣指標。使用這些指標時,請務必篩選單一目標幣別或目標幣別群組,以避免重複計算。您也可以在 src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql
等範例指令碼中查看這項資訊。
巢狀線屬性和測量指標
SalesOrdersDailyAgg
資料表包含名為 LINES
的巢狀重複欄位,可區分行層級屬性和指標 (例如 ITEM_CATEGORY_NAME
和 AMOUNTS
),以及標題層級屬性和指標 (例如 BILL_TO_CUSTOMER_NAME
和 NUM_ORDERS
)。請注意,查詢這些細微資料時,請務必分開查詢,以免重複計算。
雖然發票也有標題與明細的概念,但表格 SalesInvoicesDailyAgg
只包含明細層級的指標,因此結構與 SalesOrdersDailyAgg
不同。
後續步驟
- 如要進一步瞭解其他資料來源和工作負載,請參閱「資料來源和工作負載」一文。
- 如要進一步瞭解在正式環境中部署的步驟,請參閱 Cortex Framework Data Foundation 部署作業的必要條件。