数式列を追加するウィンドウ関数

数式列を追加するウィンドウ関数

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。



ウィンドウ関数は、ウィンドウと呼ばれるテーブル内の行グループに対して計算を実行します。ウィンドウ関数を使用すると、現在の行を基準に、データの移動ウィンドウに基づく合計や計算を実行できます。通常の集計関数は、適用対象の行に対して単一の出力を返しますが、ウィンドウ関数は結果内のすべての行を保持します。

Zoho DataPrepには、合計315個の組み込み関数が用意されています。このページでは、16個のウィンドウ関数を一覧で紹介します。残りの299個の関数は[数式を追加]変換で使用できます。詳しくは、数式列の追加に使用できる関数を参照してください。





この動画の例を通じて、ウィンドウ関数について詳しく学べます。




DataPrepのウィンドウ関数一覧


移動合計

rolling_sum(col1,rowsbefore,rowsafter)

現在の行の前後にある指定行数で構成される行のウィンドウから、移動合計値を返します。

パラメーター
名前
説明

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) と同じです。



移動平均

rolling_avg(col1,rowsbefore,rowsafter)

現在の行の前後にある指定した数の行で構成されるウィンドウから、移動平均値を返します。

パラメーター
名前
説明

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) と同じです。



移動最小値

rolling_min(col1,rowsbefore,rowsafter)

現在の行の前後にある指定行数で構成される行ウィンドウから、移動最小値を返します。

パラメーター
名前
説明

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) と同じです。



移動最大値

rolling_max(col1,rowsbefore,rowsafter)

現在の行の前後にある指定行数で構成される行ウィンドウから、移動最大値を返します。

引数
名前
説明

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) と同じです。



ローリング標準偏差

rolling_stddev(col1,rowsbefore,rowsafter)

現在の行の前後にある指定数の行で構成されるウィンドウから、ローリング標準偏差値を返します。

パラメーター
名前
説明

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) と同じです。



移動分散

rolling_variance(col1,rowsbefore,rowsafter)

現在の行の前後にある指定数の行で構成されるウィンドウから、移動分散値を返します。

パラメーター
名前
説明

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) と同じです。



ローリングカウント

rolling_count(col1,rowsbefore,rowsafter)

現在の行の前後にある指定数の行で構成される行ウィンドウから、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()

並べ替え条件とグループ化条件に基づいて、行のウィンドウ内の行番号を返します。


関数
行の並べ替え基準
行のグループ化基準
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


Fill

fill(col1,fillEmpty,rowsbefore,rowsafter)

現在の行の前後にある指定行数で構成される行のウィンドウ内で、前の行にある最も近い空でない値を使用して空のセルを補完した列の値を返します。

パラメーター
名前
説明

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)と同じです。



Lag

lag(col1,rowsbefore)

列内で、現在の行より指定した行数だけ前にある値を返します。

パラメーター
名前
説明

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


Lead

lead(col1,rowsafter)

対象の列で、現在の行から指定した行数後にある行の値を返します。

パラメーター
名前
説明

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()

並べ替え条件とグループ化条件に基づいて、行のウィンドウにおける順位を返します。同順位がある場合、後続の行ではその分の順位がスキップされます。


関数
行の並べ替え基準
行のグループ化基準
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()

行の並べ替え基準とグループ化基準の条件に基づいて、行のウィンドウ内で密順位を返します。同順位がある場合、順位はスキップされません。


関数
行の並べ替え基準
行のグループ化基準
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()

行のウィンドウから累積分布値を返します。


関数
行の並べ替え基準
行のグループ化基準
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


最初の値

first(value,ignoreNulls,default)

行のグループに対して、式の最初の値を返します。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, '') と同じです。



最後の値

last(value,ignoreNulls,default)

行のグループに対して、式の最後の値を返します。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, '')と同じです。

関連情報

数式列の追加に使用できる関数
数式列を追加するには
ウィンドウ関数を適用するには

利用可能なデータセット変換

ピボット変換を適用するには

フィルター変換を使用するには