ユースケース7: 階層を使用したカスタム・ディメンションの作成

階層を使用してディメンションを作成するには、親子レベルベースの階層構造を定義します。

事前作成済のSCM– 販売オーダー・サブジェクト領域には、必要なディメンション – パーティ階層ディメンション・ディメンション属性および階層レベルが含まれていません。このユース・ケースでは、「SCM–Sales Orders」事前作成済サブジェクト領域にフォルダ「Dim - Party Hierarchy Dim」を追加します。このフォルダには、4つのレベルと詳細の最下位レベルの「アカウント・レベル階層」階層が含まれています。階層を持つカスタム・ディメンションは、パーティIDキーを使用して事前作成済のファクト- OM受注ファクトに結合されます。

このユース・ケースには、Fusion SCM Analyticsサブスクリプションが必要です。ただし、このユース・ケースで説明する概念は、他のFusion Data Intelligenceサブスクリプションに適用できます。ユース・ケースでは、Autonomous AI Lakehouseの事前組込み表およびシノニムを参照し、カスタム・データベースの表およびビューをモックできます。指定したFusion Data Intelligenceサブスクリプションをアクティブ化した場合は、提供されているサンプルを使用できます。カスタム表、マテリアライズド・ビュー、ビュー、カスタム・シノニム、データ拡張データセット・シノニムなど、独自のカスタムAutonomous AI Lakehouseオブジェクトのサンプル・オブジェクトを置き換えることをお薦めします。

このタスクを完了するには、次を使用します。
  • 事前作成済サブジェクト領域: SCM–Sales Orders
「セマンティック・モデル拡張のユース・ケースのサンプルのアップロード」を参照し、次の前提条件を満たしていることを確認します:
  • MySandbox5Mar25というサンドボックスを作成します。「サンドボックスの作成」を参照してください。または、「セマンティック・モデル拡張」ページで既存のサンドボックスを編集します。たとえば、「MySandbox5Mar25」サンドボックスをクリックします。
  • 次のSQLスクリプトを使用して、サンプル・ディメンション・ビューFDI_X_PARTY_HIERARCHY_D_Vを生成します。
    CREATE OR REPLACE FORCE EDITIONABLE VIEW "OAX_USER"."FDI_X_PARTY_HIERARCHY_D_V" ("PARTY_ID", "LVL1", "LVL2", "LVL3", "LVL4", "LVL_DETAIL") DEFAULT COLLATION "USING_NLS_COMP"  AS 
      (
    SELECT DISTINCT
    PARTY_ID,
    NVL(COUNTRY,'~No Value~') as LVL1,
    NVL(STATE,'~No Value~') as LVL2,
    NVL(CITY,'~No Value~') as LVL3,
    NVL(POSTAL_CODE,'~No Value~') as LVL4,
    NVL(PARTY_NAME,'~No Value~') as LVL_DETAIL
    FROM
    OAX$OAC.DW_PARTY_D
    where (CUSTOMER_FLAG <> 'N' or CUSTOMER_FLAG is null)
    );
  • 次のSQLスクリプトを使用して、OAX$OACスキーマのFDI_X_PARTY_HIERARCHY_D_Vビューへのセマンティック・モデル・アクセス権を付与します。
    GRANT SELECT ON "OAX_USER"."FDI_X_PARTY_HIERARCHY_D_V" TO "OAX$OAC";
  • 次のSQLスクリプトを使用して、サンプルからデータが正常にロードされていることを確認します。
    SELECT * FROM OAX_USER.FDI_X_PARTY_HIERARCHY_D_V;
  • SQL Developer Clientの右側のペインのSQLワークシートに次のSQLスクリプトを入力して、粒度が正しくないために重複が発生する可能性があるため、外部キーが一意であることを確認します。
    SELECT PARTY_ID, COUNT(*)
    FROM FDI_X_PARTY_HIERARCHY_D_V
    GROUP BY PARTY_ID
    HAVING COUNT(*) > 1;

セマンティック・モデルへのカスタム・ファクトの追加

論理スターを編集して、自律型データ・ウェアハウス・オブジェクト、属性、表示ラベル、キーおよび階層を定義します。

このステップでは、「ファクト- OM受注」論理スターを編集して、自律型データ・ウェアハウス・オブジェクトFDI_X_PARTY_HIERARCHY_D_Vを参照するカスタム・ディメンション「ディメンション- パーティ階層ディメンション」を追加し、「アカウント・レベル階層」という名前の複数レベルの階層を定義します。ユース・ケースでは、レベルごとに一意の主キーおよび表示属性を定義します。
  1. 「セマンティック・モデル拡張」ページで、「MySandbox5Mar25」サンドボックスをクリックします。
  2. 「処理の実行」で、「論理スターの管理」「論理スターの編集」「即時利用可能」「SCM– 受注」サブジェクト領域、「ファクト –OM受注」の順に選択し、「次」をクリックします。
  3. 「論理スター: ファクト」ページで、「ディメンションの管理」「ディメンションの追加」の順にクリックします。

    「論理スター: ファクト」ページに「ディメンションの管理」値リストが表示されています。

  4. 「ディメンションの追加」ページのウィザードのステップ1で、「スキーマ」「OAX_USER」を選択し、「オブジェクト」「FDI_X_PARTY_HIERARCHY_D_V」を選択し、「ディメンション名」の名前を「パーティ階層ディメンション」に変更します。PARTY_IDソース列の「キーに使用」チェック・ボックスを選択し、「LVL2」「LVL_DETAIL」「LVL3」「LVL4」「LVL1」および「PARTY_ID」ソース列の「属性の追加」チェック・ボックスを選択して、「次へ」をクリックします。

    「ディメンションの追加」ページのウィザードのステップ1

  5. 「サブジェクト領域に階層を追加」チェック・ボックスを選択し、「名前」「勘定科目レベル階層」と入力して、各属性を対応するレベルにドラッグします。

    階層のアセンブル方法を表示する「ディメンションの追加」ページのウィザードのステップ2

  6. レベルごとに、レベルをクリックし、鉛筆アイコンをクリックし、主キーと表示属性を設定します。

    ノート:

    可能な場合は、レベルごとに内部ID/整数キーを使用することをお薦めします。詳細レベルの場合、このユース・ケースではキーにパーティIDが使用されます。


    a

  7. 「終了」をクリックします。

結合する外部キーを公開するための事前作成済ファクトへの物理列の追加

事前作成済ファクトを拡張して、論理スター内の新しいカスタム・ディメンションを結合するためのキーとして使用される物理列を公開します。論理列には一意の名前を指定する必要があります。

このステップでは、ファクト- OM受注を拡張して物理列BILL_TO_PARTY_IDを公開し、新しいカスタム・ディメンションディメンション- パーティ階層ディメンションに結合するためのキーとして使用します。BILL_TO_PARTYには、一意の名前「パーティID」が付与されます。
  1. 「セマンティック・モデル拡張」ページで、「MySandbox5Mar25」サンドボックスをクリックします。
  2. 「処理の実行」で、「論理スターの管理」「論理スターの編集」「即時利用可能」「SCM– 受注」サブジェクト領域、「ファクト –OM受注」の順に選択し、「次」をクリックします。
  3. 「論理スター: ファクト」ページで、「ファクト- OM受注」を右クリックし、「拡張の管理」をクリックします。

    「ファクト- OM受注」の「拡張の管理」オプションが表示されている「論理スター: ファクト」ページ

  4. 「列の追加」ページで「物理列の追加」をクリックし、「物理列の選択」「Fact_DW_OM_FULFILLMENT_CF」から「BILL_TO_PARTY_ID」を選択して「OK」をクリックします。

    物理列の選択ページ

  5. 「論理列」で、一意の名前として「パーティID」を入力し、「終了」をクリックします。

    論理列に一意の名前を入力してください

カスタム・ディメンション階層の事前作成済ファクトへの結合

結合タイプ、結合条件およびコンテキスト・レベルを定義して、カスタム・ディメンション階層を事前作成済ファクトに結合します。複雑な結合は定義できますが、可能な場合は標準結合を使用します。

このステップでは、各表のパーティIDキーを使用して、事前作成済のファクト- OM販売オーダー・ファクトからカスタム・ディメンション階層ディメンション- パーティ階層ディメンションへの標準内部結合を定義します。コンテンツ・レベルを「詳細」に設定します。
  1. 「セマンティック・モデル拡張」ページで、「MySandbox5Mar25」サンドボックスをクリックします。
  2. 「処理の実行」で、「論理スターの管理」「論理スターの編集」「即時利用可能」「SCM– 受注」サブジェクト領域、「ファクト –OM受注」の順に選択し、「次」をクリックします。
  3. 「論理スター: ファクト」ページで、カスタム・ディメンション階層から事前作成済ファクトにドラッグします。

    ドラッグしてカスタム・ディメンション階層を事前作成済ファクトに結合する方法を示す「論理スター: ファクト」ページ

  4. 「結合」ダイアログで、「パーティID」(新しい物理列が追加された)および「パーティID」(カスタム・ディメンション階層から)を結合します。この例では、内部結合を使用します。その他には、左(または他の結合タイプ)が必要になる場合があります。「コンテキスト・レベル」「詳細」に設定し、「完了」をクリックします。

    「結合」ダイアログ

  5. グラフィカル・モードで結合を確認します。

    グラフィカルモードで結合を表示する

  6. 「Logical Star: Fact」ページの戻る矢印をクリックして、「Sandbox: MySandbox5Mar2025」ページに戻ります。

セマンティック・モデルでのカスタム・ディメンション階層の表示

サブジェクト領域を変更して、新しいカスタム・ディメンション属性および階層レベルを表示します。

ディメンションは、サブジェクト・エリア内の列を含むフォルダとして表され、カスタム・ディメンション・フォルダの下部にある階層レベルを表します。ワークブックで使用される階層レベルは、展開および縮小して、詳細行を表示または非表示にできます。

このステップでは、「SCM– 販売オーダー」サブジェクト領域を変更して、4つのレベル(レベル1、レベル2、レベル3、レベル4)および最下位の詳細レベルを持つカスタム階層「アカウント・レベル階層」を含む新しいカスタム「ディメンション – パーティ階層ディメンション」フォルダを表示します。

  1. MySandbox5Mar25ページにナビゲートし、「処理の実行」「サブジェクト領域の管理」「サブジェクト領域の変更」「SCM販売オーダー」サブジェクト領域の順に選択し、「次」をクリックします。
  2. 「サブジェクト領域の変更」ページのウィザードのステップ1で、詳細を表示し、「次へ」をクリックします。
  3. ウィザードのステップ2で、「要素の管理」「新規カスタマイズの管理」の順にクリックし、「サブジェクト領域の追加」で階層およびディメンション要素を選択し、「追加」をクリックします。

    選択した階層およびディメンション要素を表示する「サブジェクト領域の追加」ダイアログ

  4. 選択した要素を確認し、「終了」をクリックします。

    選択した階層およびディメンション要素をカスタム階層の勘定科目レベル階層で表示します

カスタマイズの適用および公開

変更を適用してサンドボックスをコンパイルし、サンドボックスがエラーがないことを確認します。

次に、「アクティビティ」タブを使用して、エラーをデバッグして解決し、「変更の適用」アクションが完了して正常に完了したことを確認します。最後に、変更をメイン・サンドボックスにマージし、メイン・ユーザー拡張を公開して、新しい拡張機能をコンシューマと共有します。

このステップでは、変更を適用し、「アクティビティ」タブを使用してステータスをモニターし、MySandbox5Mar25サンドボックスをメイン・サンドボックスにマージしてから、メイン・ユーザー拡張を公開します。

  1. 「セマンティック・モデル拡張」ページで、「MySandbox5Mar25」サンドボックスにマウス・ポインタを重ねて「アクション」を表示し、「変更の適用」をクリックします。
  2. 「アクティビティ」タブをクリックして、「アクティビティ」ページの「変更の適用」タスクをモニターします。
  3. 変更が正常に適用されたら、「セマンティック・モデル拡張」ページで「モデルの公開」をクリックします。
  4. 「Publish Model」の「User Extensions」で「MySandbox5Mar25」を選択し、「Security Configurations」で「All」を選択します。
  5. 「公開」をクリックします。
  6. 「セマンティック・モデル拡張」ページで、「アクティビティ」タブをクリックして「カスタマイズの公開」タスクをモニターします。
    変更の適用およびモデルの公開を参照してください。

結果の検証

カスタマイズがセマンティック・モデルに表示されていることを確認します。

  1. Fusion Data Intelligenceコンソールで、「ホーム・ページに移動」をクリックします。
  2. Oracle Analyticsホーム・ページで、「作成」をクリックし、「ワークブック」をクリックして、「データの追加」で「SCM– 受注」を選択し、「ワークブックに追加」をクリックします。
  3. デフォルトでは、階層を持つ新しいディメンションがフォルダの下部に表示されることを確認します。

    階層を持つ新しいディメンション

  4. レベル1とメジャーをビジュアライゼーションに追加します。

    階層のレベル1

  5. レベルを展開して縮小し、想定どおりに動作することを確認します。

    展開および縮小された階層レベル

  6. ディメンション・フィールドも(展開または縮小せずに)使用できることを確認します。

    使用できるディメンション・フィールド

  7. レポートを表示します。

    カスタム階層の詳細を表示するレポート