ユースケース6: 導出列の追加

計算の実行および導出値の表示を可能にするカスタム要素または事前作成要素を参照する関数または式を使用するフォルダに、導出列を追加できます。

事前作成済サブジェクト領域「SCM–Sales Order」「Dim–Customer Sold To」フォルダには、必要な導出列「Customer Index」が含まれていません。このユース・ケースでは、CASE文関数を使用して計算されたカスタム索引導出列を事前作成済のDim–Custom Sold Toフォルダに追加して、顧客索引販売先顧客属性に関連付けます。導出列は、「ディメンション- 顧客販売先」ディメンション内に作成されているため、自動的に結合されます。

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

このタスクを完了するには、次を使用します。
  • ディメンション- 顧客販売先フォルダ
  • SCM–Sales Orderの事前作成済サブジェクト領域
「セマンティック・モデル拡張のユース・ケースのサンプルのアップロード」を参照し、次の前提条件を満たしていることを確認します:
  • MySandbox5Mar25というサンドボックスを作成します。「サンドボックスの作成」を参照してください。または、「セマンティック・モデル拡張」ページで既存のサンドボックスを編集します。たとえば、「MySandbox5Mar25」サンドボックスをクリックします。

セマンティック・モデルへの導出列の追加

論理スターを編集して、カスタム導出列式の式を定義します。構文支援のためにFx関数を使用することも、式をコピーして貼り付けることも、手動で入力することもできます。

このステップでは、Fact–OM Sales Orders論理スターを編集して、事前作成済のDim–Custom Sold Toディメンションを拡張し、新しい導出列Custom Indexを作成します。実行時に、カスタム索引によってCASE文関数が実行され、Sold-to-Customer列が、定義されたif-then-else条件に基づいてカスタム値を戻すことが評価されます。

  1. 「セマンティック・モデル拡張」ページで、「MySandbox5Mar25」サンドボックスをクリックします。
  2. 「処理の実行」で、「論理スターの管理」「論理スターの編集」「即時利用可能」「SCM– 受注」サブジェクト領域、「ファクト –OM受注」の順に選択し、「次」をクリックします。
  3. 「論理スター: ファクト」ページで、導出列を追加する「ディメンション- 顧客販売先」ディメンションを見つけます。ディメンションを右クリックし、「拡張の管理」をクリックします。

    ディメンション- 顧客販売先ディメンションが表示された「論理スター: ファクト」ページ

  4. 「サンドボックス: MySandbox5Mar25」ページで、「拡張機能の管理」をクリックし、「列の追加」をクリックします。
  5. 「列の追加」ページで、「導出列の追加」をクリックします。

    列の追加 ページ

  6. 「列の作成」で、「名前」「顧客索引」と入力し、「名前」フィールドのスペースに次のスクリプトを入力します。
    CASE
    WHEN UPPER(SUBSTRING("Core"."Dim - Customer Sold To"."Sold-to Customer" FROM 1 FOR 1)) BETWEEN  'A' AND 'H' THEN 'A-H'
    WHEN UPPER(SUBSTRING("Core"."Dim - Customer Sold To"."Sold-to Customer" FROM 1 FOR 1)) BETWEEN  'I' AND 'P' THEN 'I-P'
    WHEN UPPER(SUBSTRING("Core"."Dim - Customer Sold To"."Sold-to Customer" FROM 1 FOR 1)) BETWEEN  'Q' AND 'Z' THEN 'Q-Z'
    ELSE 'Other' 
    END


    「列の作成」ダイアログ

  7. 「列の作成」で、該当するスクリプトを指定した後、「列の追加」ページで「検証」「保存」「終了」の順にクリックします。

    「終了」ボタンが表示された「列の追加」ページ

セマンティック・モデルでの導出列の提示

サブジェクト領域を変更して新しいカスタム導出列を表示し、表示するフォルダを選択します。

新しい列は、追加先のディメンションに自動的に結合されます。このステップでは、「SCM– 注文書」サブジェクト領域を変更して、新しい導出列「カスタム索引」を表示し、事前作成済の「ディメンション – カスタム販売先」フォルダに追加します。

  1. MySandbox5Mar25ページにナビゲートし、「処理の実行」「サブジェクト領域の管理」「サブジェクト領域の変更」「SCM販売オーダー」サブジェクト領域の順に選択し、「次」をクリックします。
  2. 「サブジェクト領域の変更」ページのウィザードのステップ1で、詳細を表示し、「次へ」をクリックします。
  3. ウィザードのステップ2で、「要素の管理」をクリックし、「ファクトリ・カスタマイズの管理」をクリックします。
  4. 「サブジェクト領域の追加」で、「顧客索引」を選択し、「フォルダの追加」をクリックします。

    新しいカスタム導出列「顧客索引」が表示されている「サブジェクト領域の追加」ダイアログ

  5. 「サブジェクト領域の追加」で、「販売先顧客」フォルダを選択し、「フォルダの追加」をクリックします。

    「販売先顧客」フォルダが表示された「サブジェクト領域の追加」ダイアログ

  6. ウィザードのステップ2で、選択した要素を確認し、「終了」をクリックします。

    選択したデータ要素が表示されている「サブジェクト領域の変更- SCM - 受注」ページのウィザードのステップ2

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

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

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

このステップでは、変更を適用し、「アクティビティ」タブを使用してステータスをモニターし、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. 「顧客インデックス」列と「販売先顧客」列を表示するレポートを作成します。

    顧客インデックスおよび販売先顧客列を表示するレポート