セマンティック・モデルを拡張するための推奨事項およびヒント
セマンティック・モデルを拡張する前に、推奨事項とヒントを確認して、拡張機能が期待どおりに機能することを確認します。
セマンティック・モデル拡張フレームワーク
支店フレームワーク
セマンティック・モデル・ブランチ・フレームワークを使用している場合、今度はサンドボックス・フレームワークに移行します。セマンティック・モデル拡張のサンドボックス・フレームワークへの移行を参照してください。
サンドボックス・フレームワーク
使用中サンドボックスのみを保持します。テストに使用し、使用されなくなったサンドボックスを削除します。追加の未使用のサンドボックスを維持すると、システムのパフォーマンスが低下します。
データベースオブジェクト
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の単一ソース(表/ビュー/シノニム)で同じディメンションの複数の拡張を組み合せます。列ごとに複数の拡張機能を使用するのではなく、多数の列を含む1つの拡張機能を使用することをお薦めします。
- 注意: ディメンションを拡張する場合は、ベース・ディメンション・キーと結合することを強くお薦めします。ベース・ディメンション・キーで結合できない場合は、データ・グレインおよびカーディナリティを検証して、注意して別のベース列に結合できます。別の拡張列には結合しないことを強くお薦めします。依存関係のある拡張機能が順番に処理され、サンドボックスの適用と公開にかかる時間が長くなり、問合せのパフォーマンスに悪影響を及ぼす可能性があります。
- DEGENディメンション(「詳細」フォルダ)を拡張する場合、ファクトの主キーと1対1の関係を結合して、常に同じレベルの粒度を維持します[1:1]。[M:M]結合は、パフォーマンスの低下やデータの重複を引き起こす可能性があるため、多対多の結合を定義しないでください。
- 1対多(1:M)の関係を持つディメンション(複数選択など)を拡張する場合は、次の点に注意してください。
- 拡張データの粒度が親ディメンションより低いため、データの複製が発生する可能性があります。
- 拡張索引の最大長を超える可能性があります。
制約を回避するには、表/ビュー/シノニムにできるだけ短い名前を付けます。たとえば、FDI_X_SZ_V (サイズ)やFDI_X_PR_V (価格)などです。
- ディメンションの拡張中に、選択した表が拡張表である場合は、OAX_USERではなくOAX$OACスキーマからディメンションを選択します。拡張表のメイン・スキーマは、OAX_USERにも拡張表が存在する場合でも、OAX$OACです。
ディメンションの作成
- カスタム・ディメンションの作成時に、「サブジェクト領域への階層の追加」の選択を解除できます。ただし、階層主キーと表示属性を定義する必要があります。「Selected Data Elements Detail(選択したデータ要素詳細)」フォルダをクリックし、「Properties(プロパティ)」編集アイコンをクリックして階層主キーと表示属性を定義します。
ファクトの作成
- カスタム・ファクトを追加する場合は、カスタム・ファクトに結合するカスタム・ディメンションのコンテンツ・レベルを常に設定します。
- ファクトをディメンションに結合する場合は、結合する列が互換性のあるデータ型であることを確認してください。
階層の作成
- カスタム階層を追加する場合、カスタム階層は第1レベルからのみ公開されるため、ビジュアライゼーションに総計レベルを表示しないようにしてください。事前作成済階層でも、合計レベルは公開されません。総計レベルは総計量のみを提供するため、ファクトとディメンションの間に結合がなく、メトリックを合計レベルで設定する必要がある場合にのみ使用します。
- 階層を定義する場合は、使用可能なすべてのデータ要素をレベルまたは詳細にマップする必要があります。
デプロイメント
- 移行は単一の方向にのみ流れる必要があります。マスター開発環境にする環境を1つ選択します。ユーザー受入れテストの後、セマンティック拡張バンドルを生成してデプロイし、変更を本番環境やその他の環境に移行します。
- セマンティック・モデルが、新しく構成されたアプリケーション・ロール、グループまたはユーザーでオブジェクトを保護する場合は、セマンティック・モデル・バンドルをインポートおよびデプロイする前に、セキュリティ・バンドルをインポートおよびデプロイしてください。