レベルベース階層について
各ビジネス・モデルは1つ以上のディメンションを持つことができ、各ディメンションは1つ以上の論理レベルを持つことができ、各論理レベルには1つ以上の属性(列)を関連付けることができます。
「ディメンション階層、レベル・キーおよびコンテンツ・レベル」も参照してください。
論理レベルを作成する場合は、まず総計レベルを作成し、次に子レベルを作成して、最下位レベルまで作業します。
ディメンションの構成要素を次に示します。
総計レベル
総計レベルは、ディメンションのすべての合計の総計を表します。 各ディメンションが持つことのできる総計レベルは1つのみです。 総計レベルにはディメンションの属性は含まれず、レベル・キーはありません。 総計レベルにはメジャーを関連付けることができます。 それらのメジャーの集計レベルは、ディメンションの総計になります。 総計レベルは列なしで存在できます。
レベル
レベルには1つ以上の列が存在している必要があります。 表のすべての列を論理レベルに明示的に関連付ける必要はありません。 論理レベルに関連付けられていない列は、ディメンション表に対応するディメンションの最下位レベルに自動的に関連付けられます。 同じディメンション表内のすべての論理列は、同じディメンションに関連付ける必要があります。
ディメンションには、レベル数に制限はありません。
階層
各ディメンションには1つ以上の階層が含まれます。 すべての階層に共通リーフ・レベルが必要です。 たとえば、時間ディメンションには会計上の階層とカレンダ上の階層が含まれることがあり、それらは共有の日のレベルを持つことがあります。 この例では、日には会計年度とカレンダ年の2つの親があり、それらはいずれも全ルート・レベルの子となります。
論理レイヤーの階層は、独立したメタデータ・オブジェクトとして定義されません。 論理階層はレベル間の関連を通じて暗黙に存在します。
1つのレベルで非常に多くのメンバーが指定されるのを避けるために、階層に中間レベルを定義できます。 たとえば、500個の異なる自動車モデルのデータを追跡する自動車会社の製品ディメンションを作成する場合は、SUV、サブコンパクト、中堅企業など、よりきめ細かい階層レベルを作成できます。 問合せパフォーマンスが向上し、読取りとナビゲーションの容易なレポートやダイヤグラムを作成できます。 「論理ディメンション表での論理レベルの作成」を参照してください。
レベル・キー
それぞれの論理レベル(総計レベルを除く)には、レベル・キーを構成する1つ以上の属性が存在する必要があります。 レベル・キーは、各論理レベルの一意の要素を定義します。 ディメンション表の論理キーをディメンションの一番下のレベルに関連付ける必要があります。
論理レベルは複数のレベル・キーを持つことができます。 論理レベルに複数のレベル・キーがある場合、レベルの主キーとしてキーを指定します。 特定のレベルに集計コンテンツを持つすべてのディメンション・ソースには、そのレベルの主キーとなる列が含まれている必要があります。 各論理レベルには、ユーザーがドリルダウンするオブジェクトを選択したときに表示されるレベル・キーが1つ必要です。 レベルへのユーザー・アクセスを提供するために任意のレベル・キーを使用できます。
一意のレベル・キーを作成する必要があります。 月を使用して一意のレベル・キーを作成するには、キーの一部として年属性を含めます。
問合せで予期しない結果が返されないように、上位レベルの属性を含めることでレベル・キーが一意であることを確認します。 たとえば、Oracle Analytics問合せエンジンで複数の物理問合せの結果セットを組み合せる必要がある場合、レベル・キー定義に従って一意でない予期される行が結果から除外されることがあります。
time_key='1023793'などの生成された代理キーではなく、Month_name='2022 July'などの共通のビジネス・キーを使用して有効なレベル・キーを作成します。 生成された代理キーは、ソース表の単一のインスタンスにのみ適用される物理アーティファクトです。 ビジネス・キーは、その論理列の任意の物理インスタンスにマッピングできます。たとえば、month_nameは、詳細表、集約スターからの集計表またはフェデレーテッド・データ・ソース内の列にマッピングできます。 物理レイヤーでは結合でサロゲート・キーを使用できますが、Oracleではビジネス・キーを使用することをお薦めします。
時間ディメンションおよび時系列キー
ディメンションを時間ディメンションとして指定することができます。 時間ディメンションを設定および使用する場合は、この項のガイドラインを使用します。 「時間ディメンション設計」も参照してください。
-
時間ディメンションでは、少なくとも1つのレベルに時系列キーが存在する必要があります。 「時間ディメンションでの時系列キーの選択およびソート」を参照してください。
-
AGO、TODATEおよびPERIODROLLINGを使用するすべての時系列メジャーでは、年や日などの時間レベルを使用する必要があります。 派生論理列として、AGO、TODATEおよびPERIODROLLINGの集計が作成されます。 -
AGO、TODATEおよびPERIODROLLING機能は、断片化されたディメンション論理表ソース、または同じ時間ディメンションでフラグメント化されたファクト・ソースのいずれに対してもサポートされていません。 ファクト・ソースは他のディメンションでフラグメント化される場合があります。 「論理表ソースのデータ・フラグメントの操作」を参照してください。「セマンティック・モデルの時系列関数について」を参照してください。