Sybase 12.7 Home Theater System User Manual


 
4 OLAP の使用
パフォーマンス&チューニング・ガイド 69
ローベースのウィンドウ・フレーム 4-4 の例では、ロー [1] [5] 1 つのパー
ティションを表しています。それぞれのローは、OLAP のウィンドウ・フレー
ムが前にスライドするにつれて現在のローになります。このウィンドウ・フ
レームは Between Current Row And 2 Following として定義されているため、各
フレームには、最大で 3 つ、最小で 1 つのローが含まれます。フレームがパー
ティションの終わりに到達したときは、現在のローだけがフレームに含まれま
す。網掛けの部分は、4-4 の各ステップでフレームから除外されているロー
を表しています。
4-4: ローベースのウィンドウ・フレーム
4-4 のウィンドウ・フレームは、次のような規則で機能しています。
ロー [1] が現在のローであるときは、ロー [4] および [5] が除外される。
ロー [2] が現在のローであるときは、ロー [5] および [1] が除外される。
ロー [3] が現在のローであるときは、ロー [1] および [2] が除外される。
ロー [4] が現在のローであるときは、ロー [1][2][3] が除外される。
ロー [5] が現在のローであるときは、ロー [1][2][3][4] が除外される。
次の図では、この規則を具体的な値セットに適用し、OLAP AVG 関数を使
用して各ローの計算を行っています。スライド計算により、現在のローの位置
に応じて、3 つまたはそれ以下のローを範囲として移動平均を算出しています。
次のクエリは、移動ウィンドウの定義の例を示しています。
SELECT dimension, measure,
AVG(measure) OVER(partition BY dimension
ORDER BY measure
ROWS BETWEEN CURRENT ROW and 2 FOLLOWING)
AS olap_avg
FROM ...