ウィンドウ関数は、ウィンドウと呼ばれるテーブル内の行グループに対して計算を実行します。ウィンドウ関数を使用すると、現在の行を基準に、データの移動ウィンドウに基づく合計や計算を実行できます。通常の集計関数は、適用対象の行に対して単一の出力を返しますが、ウィンドウ関数は結果内のすべての行を保持します。
Zoho DataPrepには、合計315個の組み込み関数が用意されています。このページでは、16個のウィンドウ関数を一覧で紹介します。残りの299個の関数は[数式を追加]変換で使用できます。詳しくは、数式列の追加に使用できる関数を参照してください。
現在の行の前後にある指定行数で構成される行のウィンドウから、移動合計値を返します。
| 名前 |
説明 |
|---|---|
|
col1 小数 |
元の列を指定します。このパラメーターは必須です。列の数値、または数値を返す式を指定する必要があります。 |
|
rowsbefore 数値 |
[任意]現在の行より前の行数を指定します。初期値は-1です。 |
|
rowsafter 数値 |
[任意]現在の行より後の行数を指定します。初期値は0です。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| rolling_sum('Sales', 1, 1) |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
移動合計 |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
220 |
| 12/05/2012 |
食料品 |
100 |
330 |
| 15/06/2012 |
食料品 |
110 |
210 |
| 22/01/2012 |
文房具 |
200 |
300 |
| 10/04/2012 |
文房具 |
100 |
300 |
メモ:任意のパラメーターは省略できます。省略した場合、初期値が自動的に適用されます。たとえば、rolling_sum(`col1`) は rolling_sum(`col1`, -1, 0) と同じです。
現在の行の前後にある指定した数の行で構成されるウィンドウから、移動平均値を返します。
| 名前 |
説明 |
|---|---|
|
col1 小数 |
ソース列を指定します。このパラメーターは必須です。列の数値、または数値を返す式を指定する必要があります。 |
|
rowsbefore 数値 |
[任意]現在の行より前の行数を指定します。初期値は -1 です。この場合、現在の行より前のすべての行が含まれます。 |
|
rowsafter 数値 |
[任意]現在の行より後の行数を指定します。初期値は 0 です。この場合、現在の行が含まれます。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| rolling_avg(`Sales` , 1 , 1) |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
移動平均 |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
110 |
| 12/05/2012 |
食料品 |
100 |
110 |
| 15/06/2012 |
食料品 |
110 |
105 |
| 22/01/2012 |
文房具 |
200 |
150 |
| 10/04/2012 |
文房具 |
100 |
150 |
メモ:任意のパラメーターは省略でき、省略した場合は初期値が自動的に適用されます。たとえば、rolling_avg(`col1`) は rolling_avg(`col1`, -1, 0) と同じです。
現在の行の前後にある指定行数で構成される行ウィンドウから、移動最小値を返します。
| 名前 |
説明 |
|---|---|
|
col1 小数 |
ソース列を指定します。このパラメーターは必須で、列の数値または数値を返す式を指定する必要があります。 |
|
rowsbefore 数値 |
[任意]現在の行より前の行数を指定します。初期値は-1で、現在の行より前のすべての行が含まれます。 |
|
rowsafter 数値 |
[任意]現在の行より後の行数を指定します。初期値は0で、現在の行が含まれます。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| rolling_min(`Sales` , 1 , 1) |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
移動最小値 |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
100 |
| 12/05/2012 |
食料品 |
100 |
100 |
| 15/06/2012 |
食料品 |
110 |
100 |
| 22/01/2012 |
文房具 |
200 |
100 |
| 10/04/2012 |
文房具 |
100 |
100 |
メモ:任意パラメーターは省略できます。省略した場合は初期値が自動的に適用されます。たとえば、rolling_min(`col1`) は rolling_min(`col1`, -1, 0) と同じです。
現在の行の前後にある指定行数で構成される行ウィンドウから、移動最大値を返します。
| 名前 |
説明 |
|---|---|
|
col1 小数 |
対象の列を指定します。この引数は必須です。列の数値、または数値を返す式を指定する必要があります。 |
|
rowsbefore 数値 |
[任意]現在の行より前の行数を指定します。初期値は -1 で、現在の行より前のすべての行が含まれます。 |
|
rowsafter 数値 |
[任意]現在の行より後の行数を指定します。初期値は 0 で、現在の行が含まれます。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| rolling_max(`Sales` , 1 , 1) |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
移動最大値 |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
120 |
| 12/05/2012 |
食料品 |
100 |
120 |
| 15/06/2012 |
食料品 |
110 |
110 |
| 22/01/2012 |
文房具 |
200 |
200 |
| 10/04/2012 |
文房具 |
100 |
200 |
メモ:任意の引数は省略でき、省略した場合は初期値が自動的に適用されます。たとえば、rolling_max(`col1`) は rolling_max(`col1`, -1, 0) と同じです。
現在の行の前後にある指定数の行で構成されるウィンドウから、ローリング標準偏差値を返します。
| 名前 |
説明 |
|---|---|
|
col1 小数 |
元の列を指定します。このパラメーターは必須です。列の数値、または数値を返す式を指定する必要があります。 |
|
rowsbefore 数値 |
[任意]現在の行より前の行数を指定します。初期値は-1で、現在の行より前のすべての行が含まれます。 |
|
rowsafter 数値 |
[任意]現在の行より後の行数を指定します。初期値は0で、現在の行が含まれます。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| rolling_stddev(`Sales` , 1 , 1) |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
ローリング標準偏差 |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
10 |
| 12/05/2012 |
食料品 |
100 |
8.16496580927726 |
| 15/06/2012 |
食料品 |
110 |
5 |
| 22/01/2012 |
文房具 |
200 |
50 |
| 10/04/2012 |
文房具 |
100 |
50 |
メモ:任意のパラメーターは省略できます。省略した場合、初期値が自動的に適用されます。たとえば、rolling_stddev(`col1`) は rolling_stddev(`col1`, -1, 0) と同じです。
現在の行の前後にある指定数の行で構成されるウィンドウから、移動分散値を返します。
| 名前 |
説明 |
|---|---|
|
col1 小数 |
ソース列を指定します。このパラメーターは必須です。列の数値、または数値を返す式を指定する必要があります。 |
|
rowsbefore 数値 |
[任意]現在の行より前の行数を指定します。初期値は -1 で、現在の行より前のすべての行が含まれます。 |
|
rowsafter 数値 |
[任意]現在の行より後の行数を指定します。初期値は 0 で、現在の行が含まれます。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| rolling_variance(`Sales` , 1 , 1) |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
移動分散 |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
100 |
| 12/05/2012 |
食料品 |
100 |
66.66666666666667 |
| 15/06/2012 |
食料品 |
110 |
25 |
| 22/01/2012 |
文房具 |
200 |
2,500 |
| 10/04/2012 |
文房具 |
100 |
2,500 |
メモ:任意のパラメーターは省略できます。省略した場合、初期値が自動的に適用されます。たとえば、rolling_variance(`col1`) は rolling_variance(`col1`, -1, 0) と同じです。
現在の行の前後にある指定数の行で構成される行ウィンドウから、nullではない値のローリングカウントを返します。
| 名前 |
説明 |
|---|---|
|
col1 小数 |
ソース列を指定します。このパラメーターは必須で、列の数値または数値を返す式を指定する必要があります。 |
|
rowsbefore 数値 |
[任意]現在の行より前の行数を指定します。初期値は-1で、現在の行より前のすべての行が含まれます。 |
|
rowsafter 数値 |
[任意]現在の行より後の行数を指定します。初期値は0で、現在の行が含まれます。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| rolling_count(`Sales` , 1 , 1) |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
ローリングカウント |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
2 |
| 12/05/2012 |
食料品 |
100 |
3 |
| 15/06/2012 |
食料品 |
110 |
2 |
| 22/01/2012 |
文房具 |
200 |
2 |
| 10/04/2012 |
文房具 |
100 |
2 |
メモ:任意のパラメーターは省略できます。省略した場合、初期値が自動的に適用されます。たとえば、rolling_count(`col1`)はrolling_count(`col1`, -1, 0)と同じです。
並べ替え条件とグループ化条件に基づいて、行のウィンドウ内の行番号を返します。
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| row_number() |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
行番号 |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
1 |
| 12/05/2012 |
食料品 |
100 |
2 |
| 15/06/2012 |
食料品 |
110 |
3 |
| 22/01/2012 |
文房具 |
200 |
1 |
| 10/04/2012 |
文房具 |
100 |
2 |
現在の行の前後にある指定行数で構成される行のウィンドウ内で、前の行にある最も近い空でない値を使用して空のセルを補完した列の値を返します。
| 名前 |
説明 |
|---|---|
|
col1 小数 |
元の列を指定します。このパラメーターは必須で、列の数値または数値を返す式を指定する必要があります。 |
|
fillEmpty 真偽値 |
空の行を補完する場合はtrueを指定し、そうでない場合はfalseを指定します。 |
|
rowsbefore 数値 |
[任意]現在の行より前の行数を指定します。初期値は-1で、現在の行より前のすべての行が含まれます。 |
|
rowsafter 数値 |
[任意]現在の行より後の行数を指定します。初期値は0で、現在の行が含まれます。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| fill(`Sales`, false, 1 , 1) |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
食料品 |
|
| 21/02/2012 |
食料品 |
|
| 12/05/2012 |
食料品 |
120 |
| 15/06/2012 |
食料品 |
120 |
| 日付 |
商品 |
価格 |
Fill |
|---|---|---|---|
| 22/01/2012 |
食料品 |
||
| 21/02/2012 |
食料品 |
120 |
|
| 12/05/2012 |
食料品 |
120 |
120 |
| 15/06/2012 |
食料品 |
120 |
120 |
| 10/04/2012 |
文房具 |
100 |
100 |
メモ:任意のパラメーターは省略でき、初期値が自動的に適用されます。たとえば、fill(`col1`, `fillEmpty`)はfill(`col1`, `fillEmpty`, -1, 0)と同じです。
列内で、現在の行より指定した行数だけ前にある値を返します。
| 名前 |
説明 |
|---|---|
|
col1 テキスト |
参照元の列を指定します。このパラメーターには、任意のデータ型の列を指定できます。 |
|
rowsbefore 数値 |
現在の行より前の行数を指定します。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| lag(`売上` , 1) |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
Lag |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
|
| 12/05/2012 |
食料品 |
100 |
120 |
| 15/06/2012 |
食料品 |
110 |
100 |
| 22/01/2012 |
文房具 |
200 |
|
| 10/04/2012 |
文房具 |
100 |
200 |
対象の列で、現在の行から指定した行数後にある行の値を返します。
| 名前 |
説明 |
|---|---|
|
col1 テキスト |
元の列を指定します。必須項目で、文字列型の列を指定できます。 |
|
rowsafter 数値 |
現在の行から後の行数を指定します。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| lead(`Sales`, 1) |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
Lead |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
100 |
| 12/05/2012 |
食料品 |
100 |
110 |
| 15/06/2012 |
食料品 |
110 |
|
| 22/01/2012 |
文房具 |
200 |
100 |
| 10/04/2012 |
文房具 |
100 |
並べ替え条件とグループ化条件に基づいて、行のウィンドウにおける順位を返します。同順位がある場合、後続の行ではその分の順位がスキップされます。
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| rank() |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 10/05/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
順位 |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
1 |
| 12/05/2012 |
食料品 |
100 |
1 |
| 15/06/2012 |
食料品 |
110 |
3 |
| 10/04/2012 |
文房具 |
100 |
1 |
| 10/05/2012 |
文房具 |
200 |
2 |
行の並べ替え基準とグループ化基準の条件に基づいて、行のウィンドウ内で密順位を返します。同順位がある場合、順位はスキップされません。
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| dense_rank() |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 10/05/2012 |
文房具 |
200 |
| 20/02/2012 |
食料品 |
120 |
| 21/02/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
密順位 |
|---|---|---|---|
| 20/02/2012 |
食料品 |
120 |
1 |
| 21/02/2012 |
食料品 |
100 |
1 |
| 15/06/2012 |
食料品 |
110 |
2 |
| 10/04/2012 |
文房具 |
100 |
1 |
| 10/05/2012 |
文房具 |
200 |
2 |
行のウィンドウから累積分布値を返します。
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| cumulative_distribution() |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
累積分布 |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
0.3333 |
| 12/05/2012 |
食料品 |
100 |
0.6667 |
| 15/06/2012 |
食料品 |
110 |
1 |
| 22/01/2012 |
文房具 |
200 |
0.5 |
| 10/04/2012 |
文房具 |
100 |
1 |
行のグループに対して、式の最初の値を返します。ignoreNullsがtrueの場合、null値はスキップされます。すべての値がnullの場合は、初期値を使用できます。
| 名前 |
説明 |
|---|---|
|
value 文字列 |
最初の値の取得元となる列を指定します。 |
|
ignoreNulls 数値 |
任意。nullをスキップして最初のnull以外の値を返すには、1に設定します。初期値は0です。 |
|
default 文字列 |
任意。すべての値がnullの場合に返す初期値を指定します。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| first('価格') |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
NULL |
| 21/02/2012 |
食料品 |
NULL |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
最初の値 |
|---|---|---|---|
| 10/04/2012 |
文房具 |
100 |
100 |
| 22/01/2012 |
文房具 |
NULL |
100 |
| 21/02/2012 |
食料品 |
NULL |
100 |
| 12/05/2012 |
食料品 |
100 |
100 |
| 15/06/2012 |
食料品 |
110 |
100 |
メモ:任意のパラメーターは省略できます。省略すると、初期値が自動的に適用されます。たとえば、first(`value`) は first(`value`, 0, '') と同じです。
行のグループに対して、式の最後の値を返します。ignoreNullsが1に設定されている場合、null値はスキップされます。すべての値がnullの場合は、初期値を使用できます。
| 名前 |
説明 |
|---|---|
|
value テキスト |
最後の値を取得する元の列を指定します。 |
|
ignoreNulls 数値 |
任意です。nullをスキップして最後のnull以外の値を返すには、1に設定します。初期値は0です。 |
|
default テキスト |
任意です。すべての行がnullの場合に返す初期値を指定します。 |
| 関数 |
行の並べ替え基準 |
行のグループ化基準 |
|---|---|---|
| last('価格') |
日付 |
商品 |
| 日付 |
商品 |
価格 |
|---|---|---|
| 10/04/2012 |
文房具 |
100 |
| 22/01/2012 |
文房具 |
200 |
| 21/02/2012 |
食料品 |
120 |
| 12/05/2012 |
食料品 |
100 |
| 15/06/2012 |
食料品 |
110 |
| 日付 |
商品 |
価格 |
最後の値 |
|---|---|---|---|
| 21/02/2012 |
食料品 |
120 |
110 |
| 15/06/2012 |
食料品 |
110 |
110 |
| 12/05/2012 |
食料品 |
100 |
110 |
| 22/01/2012 |
文房具 |
200 |
100 |
| 10/04/2012 |
文房具 |
100 |
100 |
メモ:任意のパラメーターは省略でき、初期値が自動的に適用されます。たとえば、last(`value`)はlast(`value`, 0, '')と同じです。