目次
始めに
範囲
複数のリセットと複数の並び替え
現在の行の理解
始めに
集計関数を使用するウィンドウと順位付け関数を使用している場合で大きく2種類ある。
順位付け関数を使用している場合、以下が必要。
1.並び替えの指定
rank() over ([..] partition by 'Billing_Country' order by 'A' desc ) as 'Rep_Rank'
2.範囲は[..]のみ
範囲
ここまで出ないかもだが、一応
複数のリセットと複数の並び替え
複数のリセットと複数の並び替えは有効です。次に例を示します。
sum(sum(Sales)) over([-2 .. 0] partition by (OrderDate_Year, OrderDate_Quarter) order by OrderDate_Year)
sum(sum(Sales)) over([-2 .. 0] partition by (Year, Quarter) order by (Year asc, sum(Sales) desc))
現在の行の理解
[..0]リセットグループから今いる行までを指定
q = load "dataset";
q = group q by (OrderDate_Year, OrderDate_Quarter);
q = foreach q generate OrderDate_Year as Year, OrderDate_Quarter as Quarter, sum(Sales) as sum_amt, sum(sum(Sales)) over([.. 0] partition by OrderDate_Year order by (OrderDate_Year, OrderDate_Quarter)) as r_sum;
参考記事