論理表ソースについて
論理表ソースは、1つの論理表から1つ以上の物理表へのマッピングを定義します。
物理レイヤーとビジネス・モデルとマッピング・レイヤーとの間で発生する変換を指定したり、集計ナビゲーションと断片化を可能にするために、物理から論理へのマッピングを使用します。
ビジネス・モデルとマッピング・レイヤーで論理表ソースを表示できます。
論理表には、多数の物理表ソースがあることがあります。1つの論理列が、列にマップされた集計表(問合せがその列に対する該当するレベルの集計を要求している場合など)を含めて、複数の物理表の多数の物理列にマップされていることがあります。
このセクションには次のトピックが含まれます:
問合せに回答するためにファクト論理表ソースを選択する方法
システムでは、基準を使用して、問合せに回答するためのファクト論理表ソースを選択します。
次の基準は、優先度の高いものから低いものへという順番でリストされています。
-
論理表ソースの優先度グループ論理表ソースは、優先度の高いものから順番に使用されます。これは、より優先度の高いソースがより詳細なグレイン・レベルにある場合でも当てはまります。数値が低いほど優先度が高くなります。論理表ソースの優先度グループ番号の設定を参照してください。
-
論理表ソースのグレイン優先度グループ番号が同じである場合、論理表ソースは、グレイン・レベルの高いものから順番に使用されます。
-
このレベルの要素数グレインの比較ができない場合は、「このレベルの要素数」フィールドに指定されている数値が考慮されます。
たとえば、LTS1(year, city)とLTS2(month, state)という、グレインの比較ができない2つの論理表ソースがあるとします。10年、100市、120か月および9都道府県という要素がある場合、LTS1の最悪ケース・サイズは10 x 100 = 1000、LTS2の最悪ケース・サイズは120 x 9 = 1080となります。要素数の合計が最も少ないソースが最も高速であると想定されるため、このシナリオでは、LTS1が選択されます。
ディメンションでの論理レベルの作成を参照してください。
-
リストされている最初の論理表ソース他のすべての基準が等しい場合、「ビジネス・モデルとマッピング」レイヤーに示されているように、リストされている最初の論理表ソースが選択されます。
問合せ内のすべての列は、これらの予期されるパフォーマンス要因に基づいて単一の論理表ソースから提供されます。問合せでは、複数の論理表ソース間での負荷分散は行われません。
問合せに回答するためにディメンション論理表ソースを選択する方法
適切なファクト論理表ソースが選択された後、システムは、問合せに回答するための最適なディメンション論理表ソースを選択します。
Oracle BIサーバーでは次の基準に従って、ディメンション論理表ソースを選択します。基準は、優先度の高いものから低いものへという順番で記載されています。
-
論理表ソースの優先度グループ
優先度の高いディメンション論理表ソースが優先度の低いディメンション論理表ソースよりも先に使用されます。数値が低いほど優先度が高くなります。
-
低い結合コスト
優先度グループのメンバーが同じである場合、結合コストの最も低いディメンション論理表ソースが、結合コストの高いディメンション論理表ソースよりも先に選択されます。
-
上位レベル
優先度グループと結合コストが同じである場合は、上位レベルの論理表ソースが選択されますが、その理由は、論理表ソースでは結合する行数の低減が要求される可能性があるためです。
ディメンション論理表ソースのデフォルト選択基準の変更
論理表ソースのデフォルトの選択基準を変更して、上位レベルの論理表ソースを検討する前に、ファクト論理表ソースと同じレベルにあるディメンション論理表ソースを優先させることができます。
Oracle BI管理ツールで、セッション変数DIMENSION_LTS_JOIN_RESTRICTIONS
をPREFER_SAME_LEVEL
に設定します。
ファクト論理表ソースと同じレベルに適切なディメンション論理表ソースが存在しない場合は、Oracle BIサーバーにより、ファクトに結合可能な最上位のディメンション論理表ソースが選択されます。これらの要因は、優先度グループと結合コストの後にのみ検討されます。
セッション変数DIMENSION_LTS_JOIN_RESTRICTIONS
のPREFER_SAME_LEVEL
の値によって、問合せに回答するためにディメンション論理表ソースを選択する際の基準が次のように設定されます。
-
論理表ソースの優先度グループ
-
低い結合コスト
-
ファクト論理表ソースと同じレベル
-
ファクト論理表ソースと同じレベルに他の論理表ソースがない場合、その他のディメンション論理表ソースよりも上位である
DIMENSION_LTS_JOIN_RESTRICTIONS
がNONE (デフォルト値)に設定されていると、ファクトと同じレベルに別の結合可能なディメンション論理表ソースが存在していても、ファクト論理表ソースを上位のディメンション論理表ソースに結合できます。
複数のソースのデータ間の整合性
ソース内のデータの整合性を確認することが重要です。
たとえば、時間ディメンションに対する年レベルの論理表ソースと月レベルの論理表ソースは同じ期間をカバーしている必要があります。
ソース内のデータに関する整合性の問題は、null抑制をオーバーライドする問合せを発行したときに(つまり、アンサーに分析を作成して「NULL値を含める」を選択したときに)、顕在化することがあります。たとえば、集計表によっては、nullファクト値に対応するディメンション・レコードが含まれていないことがあります。たとえば、売上のない年度を含まない年次売上集計表などが考えられます。結果に含まれるnull値に対して、年次ディメンションのすべての年度が存在している必要があります。