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