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

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

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

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

次のタスクを使用して、このタスクを完了します:
  • 事前作成済サブジェクト領域: SCM - 受注
「セマンティック・モデル拡張のユース・ケースのサンプルのアップロード」を参照し、次の前提条件を満たしていることを確認します。
  • 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. In Perform Action, click Manage Logical Star, then Edit Logical Star, select Out of the box, select SCM – Sales Orders subject area, select Fact – OM Sales Orders, and then click Next.
  3. 論理スター: ファクト・ページで、「ディメンションの管理」をクリックし、「ディメンションの追加」をクリックします。

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

  4. ディメンションの追加ページのウィザードのステップ1で、「スキーマ」「OAX_USER」を選択し、「オブジェクト」「FDI_X_PARTY_HIERARCHY_D_V」を選択して、「ディメンション名」の名前を「パーティ階層ディメンション」に変更します。Select the Use for Key check box for PARTY_ID source column, select the Add Attributes check box for LVL2, LVL_DETAIL, LVL3, LVL4, LVL1, and PARTY_ID source columns, and click Next.

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

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

    階層の組み立て方法が表示された「ディメンションの追加」ページのウィザードのステップ2

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

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


    a

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

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

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

このステップでは、「ファクト- OM受注」を拡張して、物理列BILL_TO_PARTY_IDを公開し、新しいカスタム・ディメンション「ディメンション- パーティ階層ディメンション」に結合するためのキーとして使用します。BILL_TO_PARTYには、一意の名前「パーティID」が指定されます。
  1. 「セマンティック・モデル拡張」ページで、MySandbox5Mar25サンドボックスをクリックします。
  2. In Perform Action, click Manage Logical Star, then Edit Logical Star, select Out of the box, select SCM – Sales Orders subject area, select Fact – OM Sales Orders, and then click Next.
  3. 「論理スター: ファクト」ページで、「ファクト- OM受注」を右クリックし、「拡張の管理」をクリックします。

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

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

    物理列の選択ページ

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

    「論理列」に一意名を入力します

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

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

このステップでは、各表の「パーティID」キーを使用して、事前作成済の「ファクト- OM受注」ファクトからカスタム・ディメンション階層「ディメンション- パーティ階層ディメンション」への標準内部結合を定義します。コンテンツ・レベルを「詳細」に設定します。
  1. 「セマンティック・モデル拡張」ページで、MySandbox5Mar25サンドボックスをクリックします。
  2. In Perform Action, click Manage Logical Star, then Edit Logical Star, select Out of the box, select SCM – Sales Orders subject area, select Fact – OM Sales Orders, and then click Next.
  3. 「論理スター: ファクト」ページで、カスタム・ディメンション階層から事前作成済ファクトにドラッグします。

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

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

    「結合」ダイアログ

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

    グラフィカル・モードでの結合の表示

  6. 「論理スター: ファクト」ページの戻る矢印をクリックして、「サンドボックス: MySandbox5Mar2025」ページに戻ります。

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

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

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

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

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

    選択した階層要素とディメンション要素が表示された「サブジェクト領域の追加」ダイアログ

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

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

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

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

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

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

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

結果の検証

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

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

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

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

    階層のレベル1

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

    展開階層レベルと縮小階層レベル

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

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

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

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