セマンティック・モデルを拡張するための推奨事項とヒント
セマンティック・モデルを拡張する前に、推奨事項とヒントを確認して、拡張機能が期待どおりに機能することを確認します。
セマンティック・モデル拡張フレームワーク
ブランチ・フレームワーク
セマンティック・モデル・ブランチ・フレームワークを使用している場合、今度はサンドボックス・フレームワークに移行します。 「セマンティック・モデル拡張用のサンドボックス・フレームワークへの移行」を参照してください。
Sandboxフレームワーク
「使用中」サンドボックスのみを保持します。 テストに使用し、使用されなくなったサンドボックスを削除します。 追加の未使用のサンドボックスを維持すると、システムのパフォーマンスが低下します。
データベース・オブジェクト
Autonomous Data Warehouseオブジェクトのデータベース・ネーミング標準
- カスタム・オブジェクトのプレフィクスに
X_ZZZ_を付けます。ZZZは組織の略称です。 - 次のように異なるオブジェクトにサフィクスを付けます:
- _A =集計
- _D =ディメンション
- _DH =ディメンション階層
- _F =ファクト
- _H =ヘルパー
- _M =マップ・ディメンション
- _MD =ミニ・ディメンション
- _V =ビュー
- _MV =マテリアライズド・ビュー
- _DS =データ拡張データセット
- _EXT =データ拡張拡張
- ベスト・プラクティスとして、DWで始まるカスタム・データベース・オブジェクトを作成しないでください。これにより、事前作成済オブジェクト名と競合する可能性があります。 「DW」で始まるカスタム・データベース・オブジェクトは、セマンティック・モデル拡張ウィザードで一貫性のない動作を引き起こす可能性があります。
データ拡張データセットおよびフレックスフィールド
- ソースの変更がOracle Fusion Data Intelligenceインスタンスで対処されていることを確認します。 たとえば、カスタム・サブジェクト領域で使用される付加フレックスフィールドがソースで無効になっている場合、Oracle Fusion Data Intelligenceで該当する付加フレックスフィールドを置換または削除する必要があります。そうしないと、該当するセマンティック・モデル拡張が失敗します。
- データ拡張の初期フル・ロードが完了した後、セマンティック・モデル拡張のデータ拡張データセットからシノニムを参照できます。 データ拡張の「即時実行」オプションを使用して、フル・ロードをすぐに実行します。
拡張
一般
- オブジェクト(ディメンション、ファクトおよび列)に名前を付けると、先頭および末尾のすべてのスペースが削除されます。 名前にはアンダースコアとスペースを使用できますが、その他の特殊文字はすべて使用しないでください。
- カスタム属性を追加する場合、または結合に使用するキーを定義する場合は、表示名が一意であり、事前作成済の列名と競合しないようにしてください。
ディメンションの拡張
- 重要: 拡張機能を最小限に抑え、それらを結合して、不要なオーバーヘッドやパフォーマンスの低下を防ぐ必要があります。 ディメンションを拡張する場合(拡張の粒度が1対1の[1:1]と事前作成ディメンションの場合)は、Autonomous Data Warehouseの単一ソース(table/view/synonym)で同じディメンションの複数の拡張を結合します。 列ごとに複数の拡張機能を使用するのではなく、多数の列を含む1つの拡張機能を使用することをお薦めします。
- 注意: ディメンションを拡張する場合は、ベース・ディメンション・キーと結合することを強くお薦めします。 ベース・ディメンション・キーで結合できない場合は、データ・グレインおよびカーディナリティを検証して、注意して別のベース列に結合できます。 別の拡張列には結合しないことを強くお薦めします。 依存関係のある拡張機能が順番に処理され、サンドボックスの適用と公開にかかる時間が長くなり、問合せのパフォーマンスに悪影響を及ぼす可能性があります。
- DEGENディメンション(「詳細」フォルダ)を拡張する場合、ファクトの主キーと1対1の関係を結合することで、常に同じレベルの粒度を維持します。 多対多の[M:M]結合は、パフォーマンスの低下やデータの重複を引き起こす可能性があるため、定義しないでください。
- 1対多(1:M)の関係を持つディメンション(複数選択など)を拡張する場合は、次の点に注意してください:
- 拡張データの粒度が親ディメンションより低いため、データの複製が発生する可能性があります。
- 拡張索引の最大長を超える可能性があります。
制約を回避するには、table/view/synonymに可能なかぎり短い名前を付けます。 たとえば、FDI_X_SZ_V (サイズ)やFDI_X_PR_V (価格)などです。
- 論理オブジェクトを拡張する前に、関連付けられたプレゼンテーション表がサブジェクト領域で公開されていることを確認します。 適用可能なセマンティック・モデル系統スプレッドシートを参照してください。
- ディメンションの拡張中に、選択した表が拡張表である場合は、OAX_USERではなくOAX$OACスキーマからディメンションを選択します。 拡張表のメイン・スキーマは、OAX_USERにも拡張表が存在する場合でも、OAX$OACです。
ディメンションの作成
- カスタム・ディメンションの作成時に、「サブジェクト領域に階層を追加」の選択を解除できます。 ただし、階層主キーと表示属性を定義する必要があります。 「選択したデータ要素の詳細」フォルダをクリックし、「プロパティ」編集アイコンをクリックして階層主キーおよび表示属性を定義します。
ファクトの作成
- カスタム・ファクトを追加する場合は、カスタム・ファクトに結合するカスタム・ディメンションのコンテンツ・レベルを常に設定します。
- ファクトをディメンションに結合する場合は、結合される列のデータ型が互換性があることを確認してください。
階層の作成
- カスタム階層を追加する場合、カスタム階層は第1レベルからのみ公開されるため、ビジュアライゼーションの総計レベルを表示しないようにしてください。 事前作成済の階層でも、合計レベルは表示されません。 総計レベルでは総計金額のみが指定されるため、ファクトとディメンションの間に結合がなく、メトリックを合計レベルで設定する必要がある場合にのみ使用します。
- 階層を定義する場合は、使用可能なすべてのデータ要素をレベルまたは詳細にマップする必要があります。
デプロイメント
- 移行は単一の方向にのみ流れる必要があります。 マスター開発環境にする環境を1つ選択します。 ユーザー受入れテストの後、セマンティック拡張バンドルを生成してデプロイし、変更を本番環境および他の環境に移行します。
- セマンティック・モデルが、新しく構成されたアプリケーション・ロール、グループまたはユーザーでオブジェクトを保護する場合は、セマンティック・モデル・バンドルをインポートおよびデプロイする前に、セキュリティ・バンドルをインポートおよびデプロイしてください。