セマンティック・モデルを拡張するための推奨事項およびヒント
セマンティック・モデルを拡張する前に、推奨事項とヒントを確認して、拡張機能が期待どおりに機能することを確認します。
セマンティック・モデル拡張フレームワーク
支店フレームワーク
まだセマンティック・モデル・ブランチ・フレームワークを使用している場合は、今度はサンドボックス・フレームワークに移行します。セマンティック・モデル拡張のサンドボックス・フレームワークへの移行を参照してください。
サンドボックス・フレームワーク
使用中のサンドボックスのみを保持します。テストに使用され、使用されなくなったサンドボックスを削除します。追加の未使用のサンドボックスを維持すると、システムのパフォーマンスが低下します。
データベース・オブジェクト
Autonomous AI Lakehouseオブジェクトのデータベース・ネーミング標準
- カスタム・オブジェクトの前に
X_ZZZ_を付けます。ここで、ZZZは組織の略称です。 - 異なるオブジェクトに接尾辞を付けます。
- _A = 集計
- _D = ディメンション
- _DH = ディメンション階層
- _F = ファクト
- _H = ヘルパー
- _M = マップ・ディメンション
- _MD = ミニ寸法
- _V = ビュー
- _MV = マテリアライズド・ビュー
- _DS = データ拡張データセット
- _EXT = データ拡張拡張
- DWで始まるカスタム・データベース・オブジェクトは作成しないでください。作成すると、事前作成オブジェクト名と競合する可能性があります。「DW」で始まるカスタム・データベース・オブジェクトは、セマンティック・モデル拡張ウィザードの動作に一貫性がない可能性があります。
- カスタム・スキーマ名には、DW、OAC、INFRA、SECURITY、USERまたはCOREのシステム予約サフィクスを使用しないでください。
これらのシステム予約済接尾辞のいずれかをカスタム・スキーマ名に使用すると、パイプライン処理中にカスタム・スキーマに意図しない権限を付与するリスクがあります。
データ拡張データセットおよびフレックスフィールド
- ソースの変更がOracle Fusion Data Intelligenceインスタンスで対処されていることを確認します。たとえば、カスタム・サブジェクト領域で使用される付加フレックスフィールドがソースで無効になっている場合、Oracle Fusion Data Intelligenceで適用可能な付加フレックスフィールドを置換または削除する必要があります。そうしないと、適用可能なセマンティック・モデル拡張が失敗します。
- データ拡張の初期フル・ロードの完了後に、セマンティック・モデル拡張のデータ拡張データセットからシノニムを参照できます。データ拡張の「即時実行」オプションを使用して、フル・ロードをすぐに実行します。
拡張中
一般
- オブジェクト(ディメンション、ファクトおよび列)に名前を付けると、先頭および末尾のすべてのスペースが削除されます。名前にはアンダースコアとスペースを使用できますが、他のすべての特殊文字は使用しないでください。
- カスタム属性を追加する場合、または結合に使用されるキーを定義する場合は、表示名が一意であり、事前に作成された列名と競合しないことを確認してください。
ディメンションの拡張
- 重要: 不要なオーバーヘッドやパフォーマンスの低下を防ぐために、拡張機能を最小限に抑えて結合する必要があります。ディメンションを拡張する場合(拡張の粒度が事前構築済ディメンションを持つ1対1の[1:1]の場合)、同じディメンションの複数の拡張をAutonomous AI Lakehouseの単一ソース(表/ビュー/シノニム)に結合します。列ごとに複数の拡張機能を使用するのではなく、多数の列を含む1つの拡張機能を使用することをお薦めします。
- 注意: ディメンションを拡張する場合は、ベース・ディメンション・キーと結合することを強くお薦めします。ベース・ディメンション・キーで結合できない場合は、注意して別のベース列に結合し、データ粒度とカーディナリティを検証できます。別の拡張列で結合することはお薦めしません。依存関係を持つ拡張が順次処理され、サンドボックスの適用および公開にかかる時間が長くなり、問合せのパフォーマンスに悪影響を及ぼす可能性があります。
- DEGENディメンション(「詳細」フォルダ)を拡張する場合、ファクトの主キーと1対1の関係を結合することで、常に同じレベルの粒度を維持します。パフォーマンスの低下やデータの重複を引き起こす可能性があるため、多対多の[M:M]結合を定義しないでください。
- 1対多(1:M)の関係(複数選択など)を持つディメンションを拡張する場合は、次の点に注意してください。
- 拡張データが親ディメンションより低いグレインであるため、データが重複する可能性があります。
- 拡張索引の最大長を超える可能性があります。
制約を回避するには、表/ビュー/シノニムにできるだけ短い名前を付けます。たとえば、FDI_X_SZ_V (Size)とFDI_X_PR_V (Price)です。
- 論理オブジェクトを拡張する前に、関連付けられたプレゼンテーション表がサブジェクト領域に公開されていることを確認します。適用可能なセマンティック・モデルの系統スプレッドシートを参照してください。
- ディメンションの拡張中に、選択した表が拡張表の場合は、OAX_USERではなくOAX$OACスキーマからそれを選択します。拡張表がOAX_USERにも存在する場合でも、拡張表のメイン・スキーマはOAX$OACです。
- 拡張属性列サイズは256文字を超えることはできません。
- ディメンションを拡張する場合は、ディメンション・タイプ(非生成または準拠)と、実表と拡張表の間の関係に基づいて結合タイプを選択します。選択肢は、一致しないレコードを保持するか破棄するかによって異なります。
- 左外部: 実表のすべての行を保持するほとんどの拡張機能(特に1: 多関係の場合、または拡張表が不完全の場合)に推奨されます。これにより、ベース行を意図せずに削除することを回避できます。
- 内部: 両方のテーブルに存在し、一致しない行を除外して快適にレコードが必要な場合に、真の1対1の関係に最適です。変性ディメンションを拡張する場合はお薦めしません。
- 右: よく使われない。拡張表からすべての行を保持し、実表から一致する行のみをプルする必要がある場合は、これを選択します。
- Full Outer(完全外部): 一致に関係なく、両方の表のすべての行を保持する場合は注意してください。変性ディメンションではデータの重複やパフォーマンスの低下が発生する可能性があるため、完全外部を使用しないでください。
ディメンションの作成
- カスタム・ディメンションを作成する場合は、「サブジェクト領域への階層の追加」の選択を解除できます。ただし、引き続き階層主キーと表示属性を定義する必要があります。「Selected Data Elements Detail」フォルダ、「Properties」編集アイコンをクリックして、「Hierarchy Primary Key」および「Display Attribute」を定義します。
生成解除ディメンションの作成
- ファクト表に非生成ディメンション属性を追加しないでください。かわりに、ファクト表定義を定義するときに、属性の変性フラグを選択します。ファクト表内のフラグなしディメンション属性は、レポート構造に悪影響を及ぼし、ランタイム・エラーのリスクが高まり、システム・メンテナンスが複雑になります。
ファクトの作成
- カスタム・ファクトを追加する場合は、カスタム・ファクトに結合するカスタム・ディメンションのコンテンツ・レベルを常に設定します。
- ファクトをディメンションに結合する場合は、結合される列が互換性のあるデータ型であることを確認してください。
階層の作成
- カスタム階層を追加する場合、カスタム階層は最初のレベルからのみ公開されるため、ビジュアライゼーションに総計レベルを表示しないようにしてください。事前作成済階層も合計レベルを公開しません。総計レベルは総計量のみを提供するため、ファクトとディメンションの間に結合がなく、メトリックを合計レベルで設定する必要がある場合にのみ使用します。
- 階層を定義する場合は、使用可能なすべてのデータ要素を1つ以上のレベルまたは詳細にマップする必要があります。
- 階層を編集(レベルの追加、削除、変更など)する前に、まずサブジェクト領域から階層を削除し、階層を編集してから、その階層をサブジェクト領域に戻します。
- サンドボックス・フレームワークは現在、カスタム値ベース階層の作成をサポートしていません。事前設定および事前作成済の値ベース階層への結合をサポートしています。
列の追加
- ファンクションおよび集計をベース列に直接適用します。導出列をネストして、セマンティック・モデルで不要な依存関係、処理オーバーヘッド、遅延および潜在的な計算エラーを回避します。
- 既存のセマンティック・モデルにすでに存在する列を追加しないでください。これにより、冗長結合が作成され、処理のオーバーヘッドが増加します。
- カスタム・ファクトおよびディメンションを操作する場合は、導出列を使用しないでください。かわりに、データベース・レイヤー内で必要な計算を実行するか、作成プロセス中にオブジェクトに対して式を直接定義します。
データ・アプリケーションの使用
- 構成可能な勘定科目分析、Fusion Accounting Hub、サプライ・チェーン・プランニング・アプリケーションなどの特殊なデータ・アプリケーションを使用する場合は、アプリケーション内でのみ必要なすべてのカスタマイズを実装する必要があります。冗長な依存関係と不要な処理オーバーヘッドが発生するため、セマンティック・モデルに重複する構成を作成することは避けてください。
導入
- 移行は単一の方向にのみ実行する必要があります。マスター開発環境にする環境を1つ選択します。ユーザー受入れテストの後、Semantic Extensionsバンドルを生成およびデプロイして、変更を本番および他の環境に移行します。
- セマンティック・モデルが新しく構成されたアプリケーション・ロール、グループまたはユーザーでオブジェクトを保護する場合、セマンティック・モデル・バンドルをインポートおよびデプロイする前に、必ずセキュリティ・バンドルをインポートおよびデプロイしてください。