集計表の断片の操作
このトピックでは、集計表の断片を操作するための手法およびルールを提供するユースケースについて説明します。
「論理表ソースのデータ断片化の定義」を参照してください。
集計表の断片について
集計レベルのデータは、複数の物理表に格納できます。このような場合、Oracle Analytics問合せエンジンが問合せに対して正しいソースを選択するように、データの断片を含む論理表ソースを指定する必要があります。
たとえば、すべての店舗でのソフト・ドリンクの売上を追跡するデータベースがあるとします。データの詳細レベルは店舗レベルです。CokeとPepsiの売上の集計情報が都市レベルで格納されますが、7‐Upや他のソーダの売上に関する集計情報はありません。
このタイプの構成の目的は、集計表を最大限に活用することです。問合せでCokeとPepsiの売上額を求める場合、データは集計表から返されます。問合せですべてのソフト・ドリンクの売上額を求める場合、CokeとPepsiに関しては集計表が使用され、他のブランドに関しては詳細データが使用されます。
Oracle Analytics問合せエンジンは、このタイプの部分集計ナビゲーションを処理します。ドメインが複数の断片に及んでいる問合せで集計断片が使用されるようにセマンティック・モデルを構成するには、集計データの各レベルのドメイン全体を定義する必要があります。これは、集約の度合いの低い物理ソースをベースとして集計断片を構成する必要がある場合でも同様です。
集計表のコンテンツの指定
集計表ナビゲーションは、論理表ソースの断片化式内で構成します。
ソフト・ドリンクの例では、集計表には都市レベルのCokeおよびPepsiの売上データが含まれています。
データの断片化式は、次のようになります:
SoftDrinks.Products.Product IN ('Coke', 'Pepsi')
この式は、Oracle Analytics問合せエンジンに、2つの製品の都市および製品レベルのデータがソース表に含まれていることを通知します。
このソースはこのレベルのデータの断片であるため、「他の断片化されたソースと組み合されます」フィールドを選択して、そのソースが他のソースと同じレベルで組み合されることを示す必要があります。
ドメインを完全にするための、Select文を使用した物理レイヤー表の定義
ドメインの残りの部分のデータ(他の種類のソーダ)は、すべて店舗レベルで格納されています。
集計レベル、たとえば都市や製品でドメイン全体を定義するには、このレベルにおけるドメインの残りの部分が格納されているソースが必要になります。店舗レベルのデータは都市レベルのデータより下位にあり、より詳細なため、ある都市のすべての店舗の製品売上データを加算することによって、店舗および製品の詳細から都市および製品レベルの詳細を計算することが可能です。店舗および製品レベルの表を含む問合せを使用できます。
これを行う方法の1つとして、物理レイヤー内に店舗レベルの計算を返すSelect文を使用する表を定義するという方法があります。この表を定義するには、物理スキーマ・オブジェクトの物理レイヤーに移動し、SELECT
文が問合せに使用する物理スキーマ・オブジェクトに表を作成します。「表タイプ」のリストから「選択」を選択し、「デフォルトの初期化文字列」ボックスにSQL文を入力します。
このSQL文では、他の集計表のレベルでドメインを完全にする仮想表を定義する必要があります。この場合、既存の集計表が1つ存在し、その中には都市ごとのCokeとPepsiのデータが格納されています。したがって、このSQL文は、CokeとPepsiのデータを除くすべてのデータを都市レベルで返す必要があります。
SQL仮想表のコンテンツの指定
ドメインの残りの部分を都市および製品レベルでカバーする売上列の論理表ソースを作成します。
このソースには、前の項で作成した仮想表が含まれます。この仮想表の中でDollars論理列をUS Dollars物理列にマップします。
このソースの集計内容の指定は次のとおりです:
論理レベルでのグループ化:
GeographyDim.CityLevel, ProductDim.ProductLevel
これは、Oracle Analytics問合せエンジンに対して、このソースには都市および製品レベルのデータがあることを通知します。
断片化の内容の指定は次のようになります:
SoftDrinks.Products.Product = '7-Up'
またこれは、ドメインを完全にするために都市および製品レベルのCokeとPepsiのデータを格納する集計表と組み合されるため、「他の断片化されたソースと組み合されます」フィールドを選択する必要があります。
仮想表の物理結合の作成
このトピックでは、仮想表の物理結合を作成する方法の例を示します。
仮想表に適切な物理結合を構築します。CityProductSales2がCities表およびProducts表と結合されていることに注目してください。
この例では、ソーダの売上のドメイン全体が2つのソースによって構成されています。ドメインは多くのソースを持つことができます。これらすべてのソースは、「各レベルには、組み合せることによってそのレベルの値のドメイン全体が構成されるソースが含まれていなければならない」というルールに従う必要があります。各レベルに完全なドメインを設定することは、Coke、Pepsiおよび7‐Upを求める問合せで7‐Upが欠落しないようにするのに役立ちます。またこれは、事前に計算され集計表に格納されている情報を要求する問合せにおいて、その問合せではこの集計表に含まれない他の情報も要求する場合であっても、該当する情報は必ずその集計表から取得されるようにするのに役立ちます。