論理レイヤーの設計のヒント
論理レイヤーは、ビジネス・モデル別に情報を編成します。 このレイヤーでは事実上、各ビジネス・モデルが別個のアプリケーションとなります。
開発作業の重複を回避するには、同時に使用しない独立した構造を持つ異なるモデルがないかぎり、オブジェクトを単一のビジネス・モデルに保持します。
各ビジネス・モデルで定義された論理スキーマには、論理表を少なくとも2つ含める必要があります。 すべての論理表間の関係を定義する必要があります。
論理レイヤーを設計する場合:
-
可能であれば、論理ディメンション表とファクト表間に1対多の論理結合を持つビジネス・モデルを作成します。 各ファクト表がそのディメンションに直接結合される単純なスター・スキーマのようなビジネス・モデルを作成してください。
-
すべての論理ファクト表を少なくとも1つの論理ディメンション表に結合します。 ソースが完全に非正規化された表の場合は、その物理ファクト列を1つ以上の論理ファクト表に、その物理ディメンション列を論理ディメンション表にマップする必要があります。
-
論理ディメンション内に階層を作成して、ディメンション属性間の関係を定義します。
-
レベルベースのメジャーを作成するときに、データ集計を使用して、すべての適切なファクト・ソース・マップを階層内の適切なレベルにマップします。
-
集計ソースを別個の論理表ソースとして作成します。
-
階層内の各ディメンション・レベルに一意のレベル・キーを作成します。 各論理ディメンション表には一意の主キーが必要です。 このキーは、最下位階層レベルのレベル・キーとしても使用されます。
-
ディメンション階層の各論理レベルに正しい値が含まれていることを確認してください。 ファクト・ソースは、選択したフィールドの組合せとマップ先のディメンションのレベルに基づいて選択されます。 これらの値を調整することで、Oracle Analytics問合せエンジンによって選択されたファクト・ソースを変更できます。
論理ファクト表
-
論理ファクト表には、様々なグレインのメジャーおよび論理表ソースを含めることができます。 論理ファクト表を分割する理由として単位を使用しないでください。
-
論理ファクト表にはキーを含めないでください。ただし、キーを必要とするクライアントからOracle Analytics問合せエンジンに対して論理SQL問合せを送信する必要がある場合を除きます。 この場合、それらのキーを論理ファクト表とプレゼンテーション・レイヤーの両方で公開する必要があります。
-
論理ファクト表内の列はすべて集計メジャーです。ただし、外部クライアントで必要とされるキーや、区切りとして使用されるダミー列は除きます。 その他の非集計列は、論理ディメンション表に存在する必要があります。
-
1つのビジネス・モデルで複数の論理ファクト表を使用できます。 論理SQL問合せについては、複数の論理ファクト表が1つの表のように動作します。 複数の論理ファクト表がある理由は次のとおりです: プレゼンテーション・レイヤーに小さいサブジェクト領域を自動的に作成し、ビジネス・モデル内でそれらを整理および簡略化します。
計算
計算は、次の方法で定義できます。
-
集計前に、論理表ソースで定義します。 たとえば:
sum(col_A *( col_B)) -
集計後に、他の2つの論理列から派生した論理列で定義します。 たとえば:
sum(col A) * sum(col B)
ワークブック、ダッシュボード、分析または論理SQL問合せで集計後の計算を定義することもできます。