論理表ソースのデータ断片化の操作
このトピックでは、データの断片化を理解および定義する際に役立つ情報を提供します。
データの断片化について
論理表には、同じレベルの詳細を持つ表ソースを含めることができますが、それぞれに特定の範囲の値(データの断片)が含まれます。これらの表は、断片化された表と呼ばれます。
断片化された表を論理表ソースとして使用する場合は、各表ソースに対して、値の範囲を示す式を記述する必要があります。Oracle Analytics問合せエンジンでは、その式を使用して、問合せによってリクエストされたデータの検索に使用する表が決定されます。
断片化された論理表ソースには、Oracle Analytics問合せエンジンで断片が使用される場合でも適切な表ソースに結合されるように、適切な表への物理結合が必要です。
問合せに必要なデータが、断片化された論理表ソース間で重複する場合もあります。このような場合、「このソースはこのレベルの他のソースと組み合せる必要がある」オプションを選択することが必要になることがあります。このオプションの使用方法の例を次に示します:
- 例1 - 論理表で、2000年から現在の年(2022年)までのすべての売上を含む断片化された論理表ソースと、現在の年の売上を含む別の断片化された論理表ソースが使用され、その表ソースの断片化式が年 = 2022に設定されているとします。この場合は、表の断片が重複するため、「このソースはこのレベルの他のソースと組み合せる必要がある」オプションを選択しないでください。この場合、Oracle Analytics問合せエンジンは、問合せ述語または断片化の述語の互換性に基づいて単一の断片を使用できます。
-
例2 - 論理表で、2000年から2021年までのすべての売上を含む断片化された論理表ソースと、2022年の売上を含む別の断片化された論理表ソースが使用されているとします。この場合は、断片が重複しないため、「このソースはこのレベルの他のソースと組み合せる必要がある」オプションを選択する必要があります。この場合、Oracle Analytics問合せエンジンは、問合せ述語または断片化の述語の互換性に基づいて不適格にできない、このレベルのすべての論理表ソースを結合します。
論理表のソースが断片化された表のセットである場合、断片化されたそれぞれの表を同じ列のセットにマップする必要はありません。ただし、Oracle Analytics問合せエンジンは、列のマップ方法に応じて異なる回答を返します。最適な問合せ結果を得るには、すべての断片を同じ列のセットにマップすることをお薦めします。
-
論理表のソースが、同じ列のセットにマップされている断片化された表である場合、Oracle Analytics問合せエンジンは、断片化されたソースのセットが論理表ソースの完全なセットであると見なします。これは、断片のセットに基づいてメジャーの集計が計算されることを意味します。
-
マップされた列のセットが断片化された表の間で異なる場合、Oracle Analytics問合せエンジンは、論理表ソースのセットが不完全であると見なし、一部の断片が欠落しているため集計ロールアップを計算しません。この場合、メジャー集計としてサーバーからNULLが返されます。
グローバル変数と論理表ソースの断片化について
論理表ソースの断片化式でグローバル変数を使用すると、フラグメントの内容を自動的に変更できます。
たとえば、注文に関する情報のソースが2つあり、一方のソースに最近の注文が含まれ、もう一方のソースに履歴データが含まれているとします。最近の注文を使用するようにグローバル変数を更新し、注文の履歴データを別のビューに移動する必要があります。グローバル変数を使用しない場合、次のような式で最近のデータを含むソースの内容を記述します:
Orders.OrderDates."Order Date" >= TIMESTAMP '2001-06-02 00:00:00'
この内容の記述は、新しいデータが最近のソースに追加され、古いデータが履歴ソースに移動すると無効になります。最近のソースの新しい内容を正確に反映するには、その内容の部分の記述を手動で変更する必要があります。かわりに、グローバル変数を定義して内容を自動的に変更できます。
論理表ソースのデータ断片化の定義
断片化された表には、特定の集計レベルのデータの一部が含まれます。断片化された表を使用する場合は、各表ソースに対して、値の範囲を示す式を記述する必要があります。
- ホーム・ページで、「ナビゲータ」、「セマンティック・モデル」の順にクリックします。
- 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
- 「論理レイヤー」をクリックします
- 「論理レイヤー」ペインで、データの断片化を定義する表ソースを含む表を参照してダブルクリックします。
- 表のタブで、「ソース」をクリックします。
- 論理表ソースのリスト表で、データの断片化を定義する論理表ソースをクリックし、「詳細ビュー」をクリックしてプロパティ・ペインを開きます。
- ペインの「データの断片化」セクションに移動し、「データが断片化されています」をクリックします。
- 「式エディタを開く」をクリックし、断片式を作成および検証します。式エディタで「保存」をクリックします。
- オプション: 問合せに必要なデータが複数の断片化された表にある場合は、「他の断片化されたソースと組み合されます」をクリックしてデータを合計します。
- オプション: 「データ駆動断片選択を有効化する」をクリックして、論理表ソースのパフォーマンスを向上させます。
- 「保存」をクリックします。
断片化された論理表ソースのパフォーマンスの向上
データ駆動断片選択を使用して、断片化された論理表ソースのパフォーマンスを向上させることができます。
「データ駆動断片選択」は、デフォルトで無効になっています。
- ホーム・ページで、「ナビゲータ」、「セマンティック・モデル」の順にクリックします。
- 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
- 「論理レイヤー」をクリックします
- 「論理レイヤー」ペインで、パフォーマンスを向上させる断片化されたソースを含む表を参照してダブルクリックします。
- 表のタブで、「ソース」をクリックします。
- 表ソースのリストで、パフォーマンスを向上させる論理表ソースをクリックし、「詳細ビュー」をクリックしてプロパティ・ペインを開きます。
- 「データの粒度」までスクロールし、「データが断片化されています」をクリックして、作成した式を表示します。
- 「データ駆動断片選択を有効化する」をクリックします。
- 「保存」をクリックします。