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 データソース

図 1Cortex 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" レポート データセット。 -

データの取り込み

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)について説明します。

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

図 2Oracle EBS: エンティティ リレーションシップ図。

ベースファクトビュー

これらは ERD の青色のオブジェクトであり、CDC テーブルのビューで、一部の列名エイリアス以外の変換はありません。

ディメンション テーブル

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

ヘッダー テーブル

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

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

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

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

一部のテーブルには、ITEM_CATEGORIESITEM_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_NAMEAMOUNTS など)と、ヘッダーレベルの属性とメジャー(BILL_TO_CUSTOMER_NAMENUM_ORDERS など)を区別するために使用されます。過剰なカウントを避けるため、これらのグレインを個別にクエリしてください。

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

次のステップ