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

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

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



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

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





この動画の例を通じて、分析関数について詳しく学べます。




DataPrepの分析関数一覧


移動合計

rolling_sum(col1,rowsbefore,rowsafter)

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

パラメーター
名前
説明

col1

小数

元データの列を指定します。このパラメーターは必須です。列の数値、または数値を返す式を指定する必要があります。

rowsbefore

数値

[任意]現在の行より前の行数を指定します。初期値は-1です。

rowsafter

数値

[任意]現在の行より後の行数を指定します。初期値は0です。

関数
行の並べ替え:
行のグループ化:
rolling_sum('売上', 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(`売上`, 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(`売上`, 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(`売上`,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(`売上`,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(`売上`, 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(`売上` , 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(col1,fillEmpty,rowsbefore,rowsafter)

現在の行の前後にある指定された数の行を対象範囲とし、列内の空のセルを直前の最も近い空でない値で補完して返します。

パラメーター
名前
説明

col1

小数

元データの列を指定します。このパラメーターは必須で、列の数値、または数値を返す式を指定する必要があります。

fillEmpty

真偽値

空の行を補完する場合はtrue、補完しない場合はfalseを指定します。

rowsbefore

数値

[任意]現在の行より前にある対象行の数を指定します。初期値は-1で、現在の行より前にあるすべての行が対象になります。

rowsafter

数値

[任意]現在の行より後にある対象行の数を指定します。初期値は0で、現在の行のみが対象になります。

関数
行の並べ替え。
行のグループ化。
fill(`売上`, false, 1, 1)
日付
製品
入力内容
日付
製品
価格
10/04/2012
文房具
100
22/01/2012
食料品

21/02/2012
食料品

12/05/2012
食料品
120
15/06/2012
食料品
120
出力内容
日付
製品
価格
補完
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(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
出力内容
日付
商品
価格
ラグ
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(`売上`, 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が真の場合、空の値はスキップされます。すべての値が空の値の場合は、既定値を使用できます。

パラメーター
名前
説明

value

テキスト

最初の値を取得する元データの列を指定します。

ignoreNulls

数値

任意。空の値をスキップして最初の空でない値を返すには、1に設定します。既定値は0です。

default

テキスト

任意。すべての値が空の値の場合に返す既定値を指定します。

関数
行の並べ替え:
行のグループ化:
first('Price')
日付
商品
入力内容
日付
商品
価格
10/04/2012
文房具
100
22/01/2012
文房具
空の値
21/02/2012
食料品
空の値
12/05/2012
食料品
100
15/06/2012
食料品
110
出力内容
日付
商品
価格
最初の値
10/04/2012
文房具
100
100
22/01/2012
文房具
空の値
100
21/02/2012
食料品
空の値
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('Price')
日付
商品
入力内容
日付
商品
価格
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, '')と同じです。

関連情報

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

利用可能なデータセットの加工は?

ピボット加工を適用するには?

フィルター加工を使用するには