Oracle EBS との統合
Oracle EBS(E-Business Suite)統合は、Incorta を使用したデータ取り込みで、Order to Cash データモデルをサポートしています。Incorta は、ホスト型または非公開のインスタンを使用して、Oracle から BigQuery CDC データセットにデータを取り込み、CDC 処理を処理します。そこから、Cortex Framework は Cloud Composer を使用して BigQuery ジョブをオーケストレートし、CDC データを変換してレポート アセットにマテリアライズします。
次の図は、Oracle EBS 運用ワークロードを介して Oracle EBS データを利用できるようにする方法を示しています。
デプロイ構成
次の表に、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" |
レポート データセット。 | - |
データの取り込み
Oracle から BigQuery にデータを取り込む方法については、Incorta の担当者にお問い合わせください。また、Oracle EBS for Google Cortex 設定ガイドも参照してください。
推奨構成
Incorta は、さまざまな間隔でデータ取り込みジョブのスケジュール設定をサポートしていますが、パフォーマンスとデータの更新頻度を最適化するため、Incorta データ取り込みジョブを毎日実行するようにスケジュールすることをおすすめします。ユースケースで削除されたデータを処理する必要がある場合は、Incorta のドキュメントのソースの削除の処理の手順に沿って、削除されたデータを有効にしてください。
レポートの構成
このセクションでは、環境に必要なレポート構成について概説します。
Cloud Composer Airflow 接続
BigQuery オペレーターがレポート変換を実行するために使用する oracleebs_reporting_bq
という名前の BigQuery Airflow 接続を作成します。詳細については、Airflow 接続を管理するドキュメントをご覧ください。
マテリアルライザの設定
実体化の設定は src/OracleEBS/config/reporting_settings.yaml
にあります。デフォルトでは、ディメンション、ヘッダー、集計テーブルは毎日実体化されます。レポートレイヤ テーブルも日付でパーティション分割されています。パーティションとクラスタリングは、必要に応じてカスタマイズできます。詳細については、クラスタ設定とテーブル パーティションをご覧ください。
データモデル
このセクションでは、Oracle EBS の Order to Cash 論理データモデルについて説明します。各サブセクションでは、次の Oracle EBS エンティティ リレーションシップ図(ERD)について説明します。
ベースファクトビュー
これらは ERD の青色のオブジェクトであり、CDC テーブルのビューで、一部の列名エイリアス以外の変換はありません。
ディメンション テーブル
これらは ERD の紫色のオブジェクトであり、レポート テーブルで使用される関連するディメンション属性が含まれています。デフォルトでは、これらのディメンションは、該当する場合はデプロイ構成パラメータ値に基づいてフィルタされます。この統合では、日付属性に Cortex K9 グレゴリオ暦のディメンションも使用します。これはデフォルトでデプロイされます。
ヘッダー テーブル
これらは ERD の緑色のオブジェクトであり、注文や請求書などのビジネス エンティティをヘッダーレベルで記述する結合されたファクトとディメンションが含まれています。ヘッダー テーブルは、各エンティティに対応するプライマリ イベント日(ORDERED_DATE
や INVOICE_DATE
など)でパーティショニングされます。
ネストされた行と繰り返し行
SalesOrders
テーブルと SalesInvoices
テーブルには、LINES
という名前のネストされた繰り返しフィールドが含まれています。これらのフィールドは、さまざまな注文行と請求書行を関連するヘッダーの下にグループ化します。これらのネストされたフィールドをクエリするには、提供されているサンプル スクリプト(src/OracleEBS/src/reporting/ddls/samples/
)に示すように、UNNEST
演算子を使用して要素をフラット化して行にします。
ネストされた属性と繰り返し属性
一部のテーブルには、ITEM_CATEGORIES
や ITEM_DESCRIPTIONS
などのネストされた繰り返しフィールドが追加されています。これらのフィールドでは、同じ属性の複数の値がエンティティに適用される場合があります。これらの重複する属性をネスト解除する場合は、指標の過剰カウントを避けるため、必ず 1 つの属性値にフィルタリングしてください。
適用された売掛金
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 のデプロイの前提条件をご覧ください。