![見出し画像](https://assets.st-note.com/production/uploads/images/141891262/rectangle_large_type_2_8c8c9e577cec792330356bbe46c21ccd.png?width=800)
WINDOW 関数って結局なんなんだ...?
こんにちは。今日は WINDOW 関数ってなんなんだ!という疑問が以前からありましたので、色々試しながら理解していきたいと思います。今回はシンプルなデータで深掘りしていきます。
![](https://assets.st-note.com/img/1716701397880-Kcuvzt2Fxt.png?width=800)
WINDOW_MAX 関数
WINDOW_MAX(式, [開始, 終了)
ウィンドウ内の式の最大値を返します。ウィンドは現在の行からのオフセットとして定義されます。
パーティション内の最初または最後の行からのオフセットには、FIRST()+n または LAST()-n を使用します。開始と終了を省略すると、パーティション全体が使用されます。
例:WINDOW_MAX(MAX([利益]))
WINDOW_MAX(SUM([売上]))
![](https://assets.st-note.com/img/1716701771781-EWyATQ7r78.png?width=800)
SUM([売上]) でメーカーごとの売上を求めている。今回は 2 メーカーなので、37,000 円と 35,000 円が集計されている。
求まった 2 つの合計値の最大値を WINDOW_MAX 関数が求めるので、37,000 円が返されている。
WINDOW_MAX(AVG([売上]))
![](https://assets.st-note.com/img/1716703027596-NN7pF8FiVG.png?width=800)
![](https://assets.st-note.com/img/1716703049323-XgUQzWhlfx.png?width=800)
AVG([売上]) で平均値を求めているが、理解がなかなか出来なかった…今回は各メーカーごとでまとめていますが、全部のデータを見ると、YONEX が 3 サンプルサイズ、プリンスが 2 サンプルサイズになっています。
Viz 上では各メーカーが 1 行にまとまって見えていますが、メーカー売上合計 ÷ メーカー名カウント数 で売上平均が求められています。
![](https://assets.st-note.com/img/1716703488049-OiNO4V35Jw.png?width=800)
あとは WINDOW_MAX 関数で上記の求めた 2 つの値で最大値を返すことになります。
まとめ
WINDOW 関数はまだ他にもあるので、今後追加しています!
この記事が気に入ったらサポートをしてみませんか?