セマンティック・モデルを拡張するための推奨事項およびヒントについて
セマンティック・モデルを拡張する前に、推奨事項とヒントを確認して、拡張機能が期待どおりに機能することを確認します。
推奨される命名規則: アップグレード後のカスタマイズの損失を回避し、カスタム・オブジェクトを簡単に識別できるように、次の命名規則に従ってください。
- カスタム・オブジェクトの前に
X_ZZZ_
を付けます。ZZZ
は組織の略称です。 - 次のように、異なるオブジェクトに接尾辞を付けます。
- _A = 集計
- _D = ディメンション
- _DH = ディメンション階層
- _F = ファクト
- _H = ヘルパー
- _M = マップ・ディメンション
- _MD = ミニ寸法
- セマンティック・モデル拡張でオブジェクトに一意の名前を使用して、重複する名前による問題を回避します。
拡張機能のタイプ全体に適用可能な推奨:
- マスター開発環境とみなすすべての開発アクティビティを1つの環境で実行します。その後、その環境から他の非本番環境または本番環境に拡張を移動する必要があります。
- スター・スキーマ(カスタム・ディメンションおよびカスタム・ファクト)を作成する必要がある場合は、カスタム・ディメンションを最初に作成してからカスタム・ファクトを作成してください。
- カスタマイズ・ウィザードで結合を定義する場合は、結合列のデータ型が互換性があることを確認してください。
- 構造を変更するために事前構築済のファクトを拡張しないでください。たとえば、請求書明細ファクト表に請求書配分IDを追加しないでください。
- ローカル・ブランチの変更を長時間保持しないでください。Oracle Fusion Data Intelligence環境の変更が発生すると、ローカル・ブランチが同期しなくなる可能性があります。ローカル・ブランチを使用してテストし、メイン・ブランチにマージします。テストから本番(T2P)プロセスを使用して、メイン・ブランチを本番にプロモートします。
- ソースの変更がOracle Fusion Data Intelligenceインスタンスで対処されていることを確認します。たとえば、カスタム・サブジェクト領域で使用される付加フレックスフィールドがソースで使用不可になっている場合、適用可能な付加フレックスフィールドをOracle Fusion Data Intelligenceで置換または削除する必要があります。そうしないと、適用可能なセマンティック・モデル拡張が失敗します。
- 表および列の名前の先頭または末尾に空白が含まれていないことを確認してください。
- 「セマンティック・モデル拡張」ページで、エラーおよび警告を定期的にチェックして修正してください。
- データ拡張によって取得されたデータセットを使用して結合を構築する場合、またはデータセットからのオブジェクトをセマンティック・モデルに組み込む場合は、データセットを使用する前に増分ロードを実行する必要があります。
- 拡張機能を再適用する際は、スキーマOAX_CUSTOM_DATAのビューをクリーンアップし、Mainブランチの拡張機能を再編集して再適用してください。
- カスタム・スキーマおよびOAX_Userスキーマに"DW"で始まる表は作成しないでください。この結果、事前に作成されたオブジェクト名と競合する可能性があります。DWで始まる表を作成すると、これらの表はセマンティック・モデル拡張ウィザードにカスタム表として表示されません。
- 拡張機能でシステム変数を使用していないことを確認します。
ディメンションの追加時の推奨事項:
- 結合の定義中に、結合をスキップして次のアクションに進むことを選択できます。これにより、ステップは警告状態で終了しますが、プロセスによってカスタム・ファクトが追加されます。後で結合を定義すると、Oracle Fusion Data Intelligenceによって警告がクリアされます。
- カスタム・ディメンションの階層を定義する場合は、常に主キーと表示属性を指定します。
ディメンションを拡張する場合は、データベース内の同じディメンションに対して複数の拡張を組み合せます。同じディメンション拡張は、常に同じ列の基本ディメンションに結合されます。したがって、データベースでは、拡張機能を1つのオブジェクトに結合し、そのオブジェクトを使用してすべての列を拡張します。
ノート
同じディメンションに対して複数のステップが定義されると、最終的に制約が発生し、拡張が失敗します。たとえば、ステップ1では、表Aを使用して列のセットを追加し、ステップ5では同じ表Aを使用して同じディメンションを拡張し、同じ列セットを追加します。ステップ1では列がすでに追加されているため、この結果失敗するため、ステップ5は失敗し、ユーザー拡張は使用できません。拡張機能を1つのデータベース・オブジェクトに結合してから、1つのステップですべての拡張機能を定義することをお薦めします。
同じディメンションに対して複数のステップが定義されると、最終的に制約が発生し、拡張が失敗します。たとえば、ステップ1では、表Aを使用して列のセットを追加し、ステップ5では同じ表Aを使用して同じディメンションを拡張し、同じ列セットを追加します。ステップ1では列がすでに追加されているため、この結果失敗するため、ステップ5は失敗し、ユーザー拡張は使用できません。拡張機能を1つのデータベース・オブジェクトに結合してから、1つのステップですべての拡張機能を定義することをお薦めします。
ファクトを追加する場合は、カスタム・ファクトに結合するカスタム・ディメンションのコンテンツ・レベルを常に設定します。
システム拡張実行でマスター・ブランチがリプレイされるたびに、セマンティック拡張の失敗につながる競合が発生する可能性があるため、この間はメイン・ブランチを編集しないでください。
セマンティック拡張の数をできるだけ最小限に抑えます。たとえば、同じサブジェクト領域を変更するために複数の拡張を作成しないでください。かわりに、同じサブジェクト領域に変更を統合する必要があります。同じディメンションを変更する必要がある場合は、変更を単一の論理表ソースに統合します。
カスタム階層を追加する場合、カスタム階層は最初のレベルからのみ公開されるため、ビジュアライゼーションの総計レベルを表示しないようにしてください。すぐに使用できる階層も、合計レベルを公開しません。総計レベルは総計量を提供するだけなので、ファクトとディメンションの間に結合がなく、メトリックを合計レベルで設定する必要がある場合にのみ使用します。
セマンティック・モデル拡張バンドルを個別にエクスポートせず、テストから本番へのセキュリティ・プロモーションを実行してください。セマンティック・モデル拡張バンドルを生成し、必要な拡張機能を含めてから、セキュリティも含めます。