Oracle EBS との統合

Oracle EBS(E-Business Suite)統合は、Incorta を使用したデータ取り込みによる Order to Cash データモデルをサポートしています。Incorta は、ホスト型またはプライベート インスタンスを使用して、Oracle から BigQuery CDC データセットにデータを取り込み、CDC 処理を処理します。Cortex Framework は、Managed Service for Apache Airflow を使用して BigQuery ジョブをオーケストレートし、CDC データを変換してレポート アセットに具体化します。

次の図は、Oracle EBS 運用ワークロードを介して Oracle EBS データがどのように利用可能になるかを示しています。

Oracle EBS データソース

図 1. Cortex Framework-Oracle EBS-Incorta 統合の概要。

デプロイ構成

次の表に、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 のドキュメントのソースの削除の処理の手順に沿って、それらを有効にしてください。

レポートの構成

このセクションでは、環境に必要なレポート構成について説明します。

Managed Airflow Airflow 接続

BigQuery 演算子がレポート変換を実行するために使用する oracleebs_reporting_bq という名前の BigQuery Airflow 接続を作成します。詳細については、Airflow 接続の管理に関するドキュメントをご覧ください。

マテリアライザーの設定

具体化の設定は src/OracleEBS/config/reporting_settings.yaml で確認できます。デフォルトでは、ディメンションヘッダー集計テーブルは毎日マテリアライズされます。レポートレイヤのテーブルも日付でパーティション分割されます。必要に応じて、パーティションとクラスタリングをカスタマイズできます。詳細については、クラスタ設定テーブル パーティションをご覧ください。

データモデル

このセクションでは、Oracle EBS の Order to Cash 論理データモデルについて説明します。各サブセクションでは、次の Oracle EBS エンティティ リレーションシップ図(ERD)について説明します。

Oracle EBS のエンティティ関係図

図 2. Oracle EBS: エンティティ関連図。

ベース ファクトビュー

これらは ERD の青いオブジェクトで、一部の列名エイリアス以外の変換がない CDC テーブルのビューです。

ディメンション テーブル

これらは ERD の紫色のオブジェクトで、レポート テーブルで使用される関連するディメンション属性が含まれています。デフォルトでは、これらのディメンションは、該当する場合、デプロイ構成パラメータ値に基づいてフィルタされます。この統合では、日付属性に Cortex K9 グレゴリオ暦ディメンションも使用します。これはデフォルトでデプロイされます。

ヘッダー テーブル

これらは ERD の緑色のオブジェクトで、注文や請求書などのビジネス エンティティをヘッダーレベルで記述する結合されたファクトとディメンションが含まれています。ヘッダー テーブルは、各エンティティに対応するプライマリ イベントの日付(ORDERED_DATEINVOICE_DATE など)でパーティション分割されます。

ネストされた行と繰り返し行

SalesOrders テーブルと SalesInvoices テーブルには、LINES という名前のネストされた繰り返しフィールドが含まれています。これらのフィールドは、さまざまな注文明細行と請求書明細行を関連するヘッダーの下にグループ化します。これらのネストされたフィールドをクエリするには、提供されたサンプル スクリプト(src/OracleEBS/src/reporting/ddls/samples/)に示すように、UNNEST 演算子を使用して要素を行にフラット化します。

ネストされた属性と繰り返し属性

一部のテーブルには、ITEM_CATEGORIESITEM_DESCRIPTIONS などの追加のネストされた繰り返しフィールドが含まれています。同じ属性の複数の値がエンティティに適用される場合があります。これらの繰り返し属性をネスト解除する場合は、指標の過剰なカウントを避けるため、単一の属性値にフィルタリングしてください。

Applied Receivables

SalesAppliedReceivables は、エンティティが請求書単独、または領収書付きの請求書を参照できるという点で、一意のテーブルです。そのため、ネストされた(繰り返しではない)INVOICE フィールドと CASH_RECEIPT フィールドがあります。CASH_RECEIPT フィールドは APPLICATION_TYPE = 'CASH' の場合にのみ入力されます。

集計テーブル

これらは ERD の赤いオブジェクトであり、ヘッダー テーブルから日次指標まで集計されます。これらの各テーブルは、プライマリ イベントの日付でパーティショニングされます。集計テーブルには、加算可能なメジャー(カウント、合計など)のみが含まれ、平均や比率などのメジャーは含まれません。つまり、ユーザーは、月単位などのより高い粒度で集計する際に適切に導出できるように、非加算指標を導出する必要があります。src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql などのサンプル スクリプトをご覧ください。

通貨換算の金額

各サマリー表は、CurrencyRateMD ディメンションを使用して、デプロイ構成で指定された各ターゲット通貨に換算された通貨メジャーを含む AMOUNTS のネストされた繰り返しフィールドを作成します。これらの指標を使用する場合は、レポートで重複してカウントされないように、1 つの目標通貨または目標通貨のグループにフィルタしてください。これは、src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql などのサンプル スクリプトでも確認できます。

ネストされた線属性とメジャー

SalesOrdersDailyAgg テーブルには、行レベルの属性と指標(ITEM_CATEGORY_NAMEAMOUNTS など)とヘッダーレベルの属性と指標(BILL_TO_CUSTOMER_NAMENUM_ORDERS など)を区別するための LINES という名前のネストされた繰り返しフィールドが含まれています。重複カウントを避けるため、これらの粒度を個別にクエリするようにしてください。

請求書にもヘッダーと行の概念がありますが、テーブル SalesInvoicesDailyAgg には行レベルの指標のみが含まれているため、SalesOrdersDailyAgg と同じ構造にはなっていません。

次のステップ