Sybase 12.7 Home Theater System User Manual


 
4 OLAP の使用
パフォーマンス&チューニング・ガイド 65
OLAP のランク付け関数には順序の指定が必須であり、ランキング値の基準は、
ランク付け関数の引数ではなく ORDER BY 句で指定します。OLAP の集合関
数では、通常は ORDER BY 句の指定は必須ではありませんが、ウィンドウ・
フレームを定義するときには必須とされています (「ウィンドウ・フレーム」
(65 ページ ) を参照してください )。これは、各フレームの適切な集合値を計算
する前に、パーティション内のローをソートしなければならないためです。
この ORDER BY 句には、昇順および降順のソートを定義するためのセマン
ティックと、NULL 値の取り扱いに関する規則を指定します。OLAP 関数は、
デフォルトでは昇順 (最も小さい値が 1 番目にランク付けされる) を使用します。
これは SELECT 文の最後に指定する ORDER BY 句のデフォルト動作と同じ
ですが、連続的な計算を行う場合にはわかりにくいかもしれません。OLAP
計算では、降順 ( 最も大きい値が 1 番目にランク付けされる ) でのソートが必
要になることがよくあります。この要件を満たすには、ORDER BY 句に明示
的に DESC キーワードを指定する必要があります。
注意 ランク付け関数は、ソートされた入力のみを扱うように定義されている
ため、「ウィンドウ順序句」の指定を必要とします。「クエリ指定」の「order
by 句」と同様に、デフォルトのソート順序は昇順です。
「ウィンドウ・フレーム単位」で RANGE を使用する場合も、「ウィンドウ順序句」
を指定する必要があります。RANGE の場合は、「ウィンドウ順序句」に 1 つの式
のみを指定します。「ウィンドウ・フレーム」(65 ページ ) を参照してください。
ウィンドウ・フレーム
ランク付け関数を除く OLAP 集合関数では、ウィンドウ・フレーム句を使用し
てウィンドウ・フレームを定義することができます。ウィンドウ・フレーム句
には、現在のローを基準としてウィンドウの開始位置と終了位置を指定します。
<WINDOW FRAME CLAUSE> ::=
<WINDOW FRAME UNIT>
<WINDOW FRAME EXTENT>
これにより、パーティション全体の固定的な内容ではなく、移動するフレーム
の内容に対して OLAP 関数を計算できます。定義にもよりますが、パーティ
ションには開始ローと終了ローがあり、ウィンドウ・フレームは開始ポイント
からパーティションの終了位置に向けてスライドします。