Execute Aggregate Selection
様々な選択基準に基づいて集約ストレージ・データベースのビューを選択し、結果を表または集約スクリプトの形式で返します。 次に、表形式の情報または集計スクリプトを使用して、execute aggregate buildで集計を作成(ビューをマテリアライズ)します。
ノート:
ビューの選択および集計は、execute aggregate processを使用して、Essbaseによって単一のステップで実行できます。 ただし、execute aggregate selectionとexecute aggregate buildの2つの個別の文を使用すると、選択基準をより細かく制御できます。
Essbaseを「集約ビューの自動生成」に構成することもできます。 集約ビューの詳細は、「集約ストレージ・データベースの集約」を参照してください。
キーワード
- using views...with outline_ID
-
事前に選択されたビューIDに基づいてビューを選択します。 ビューIDは、文の以前の実行から取得されます。
- using views...with outline_ID...force display
-
事前に選択されているビューID(事前に選択されているビューID自体を含む)に基づいてビューを選択します。
- using views...with outline_ID...suppress display
-
事前選択されたビューIDに基づいてビューを選択し、事前選択されたビューID自体をスキップします。 これは、suppressキーワードを省略した場合でもデフォルトの動作です。
- selecting <INTEGER> views
-
<INTEGER>で指定されたビューの数がexecute aggregate selection文によって返されたデフォルト・ビューの推奨数より多いか、同じか、少ないかに基づいて、ビューの数を選択します。 デフォルトでは、Essbaseはデフォルト・ビューの推奨数を特定します。
<RECNUM>がデフォルト・ビューの推奨数を表すとします:
-
<INTEGER>の値が<RECNUM>の値より大きいか同じである場合、選択するビューの数は<RECNUM>と等しくなります。
たとえば、<INTEGER>が20で<RECNUM>が15の場合、選択するビューの数は15になります。
-
<INTEGER>の値が<RECNUM>の値より小さい場合、選択するビューの数は<INTEGER>と等しくなります。
選択したビューの数を<INTEGER>の値と等しくする場合は、「total_sizeが<STOPPING-VAL>を超えた場合の停止」文法を使用して、execute aggregate selection文によって返される推奨デフォルト・ビューの数を変更します。 execute aggregate selectionによって返されるデフォルト・ビューの数が<INTEGER>の値よりも多くなるように、十分な大きさの<STOPPING-VAL>ファクタを定義します。
たとえば、<INTEGER>が20で<RECNUM>が50の場合、選択するビューの数は20になります。
ノート:
このパラメータでは、ビューは作成されません。
-
- stopping when total_size exceeds <STOPPING-VAL>
-
集約されていない入力(レベル0)値のサイズに係数を掛けてストレージ停止値を指定して、ビューを選択します。 たとえば、停止値が1.5の場合、ビューの選択では、集計の結果としてデータベースのサイズが最大50%増加することを許可する必要があります。
- based on query_data
-
以前に収集された問合せトラッキング・データに基づいてビューを選択します。 問合せトラッキングを有効にしておく必要があります。 問合せトラッキングを有効にした後、問合せデータに基づいて集計選択を実行する前に、ユーザー・データ取得パターンを収集するのに十分な時間を確保します。
問合せトラッキングは、ビュー選択の基礎として使用できるように、データベースで実行されるすべての問合せに関する情報を記録します。 問合せベースのビュー選択は、ユーザー問合せの分散が偏っている場合に問合せのパフォーマンスを向上させるのに役立ちます。
レベルの組合せごとに、セルの取得コストが記録されます。 記録は、アプリケーションがシャットダウンされるまで、またはalter database <dbs-name> disable query_trackingを使用して記録が明示的にオフになるまで続行されます。 どちらの場合も、すべての問合せコスト・データは破棄され、記録は停止します(アプリケーションを再起動しても続行されません)。
追加のビューが作成されると、すべての問合せコスト・データが無効になります。
追跡された問合せパターンに基づいてビューを作成するには:
-
alter database <dbs-name> enable query_trackingを使用して問合せトラッキングを有効にします。
-
すべての本番問合せを一度実行してから、問合せコスト・データに基づいてビューの最初のセットを選択します。 ビューを選択するには、次のMaxL文(execute aggregate selection…based on query_data…)を実行します。
-
execute aggregate buildを使用して、選択した集約ビューを構築します。
-
前の2つのステップを少なくとも2回繰り返します。 複数のビューを繰り返し選択して構築すると、パターンを形成するのに十分な使用状況トラッキング・データがあることを確認できます。 新しいビューを作成するたびに、問合せコストが増加する割合が低下します。
-
- dump to view_file
-
ビューの選択内容を集計スクリプトに保存します。 指定したスクリプト名がすでに存在する場合は、エラーが返されます。 既存のスクリプトを上書きするには、force_dumpキーワードを使用します。
集計スクリプトには、集計ビューの選択時に導出された情報が含まれます。 集計スクリプトを実行して、集計を別の時点でマテリアライズできます。 たとえば:
execute aggregate build on database <dbs-name> using view_file <view-file-name>
- force_dump to view_file
-
ビューの選択内容を集計スクリプトに保存します。 指定されたスクリプト名がすでに存在する場合、force_dumpキーワードによって上書きされます。
- enable|disable alternate_rollups
-
有効にすると、セカンダリ階層(デフォルトのレベル使用)がビューの選択対象とみなされます。 デフォルト: disabled (セカンダリ階層は考慮されません)。
例
execute aggregate selection on database ASOsamp.Sample;
ASOsampサンプルのデフォルト・ビュー選択を実行します。 この文は、
execute aggregate process on database ASOsamp.Sample
が構築するのと同じビューを選択します。
execute aggregate selection on database ASOsamp.Sample using views 711, 8941 with outline_ID 4142187876;
事前に選択したビューIDに基づいてビューを選択します。 ビューIDは、文の以前の実行から取得されます。
execute aggregate selection on database ASOsamp.Sample using views 711, 8941 with outline_ID 4142187876 force display;
事前に選択したビューIDに基づいてビューを選択します。「強制表示」は、事前選択されたビュー(711および8941)を新しい選択に含めるために使用されます。
execute aggregate selection on database ASOsamp.Sample stopping when total_size exceeds 1.2;
ASOsampサンプル・データベースの集計を選択します。これにより、作成時に、集計の結果としてデータベースが20%まで拡大できます。
execute aggregate selection on database ASOsamp.Sample based on query_data;
以前に収集された問合せトラッキング・データに基づいてビューを選択します。 alter database <dbs-name> enable query_trackingを使用して問合せトラッキングを有効にしておく必要があります。
execute aggregate selection on database ASOsamp.Sample
dump to view_file myView;
ASOsamp Sampleデータベースのデフォルトの集計を選択し、選択内容を
APP\DB\myView.csc
に保存します。 集計スクリプトmyView.csc
を実行して、後でビューをマテリアライズできます。 例:
execute aggregate build on database ASOsamp.Sample using view_file 'myView.csc';