数式列を追加するための分析関数

数式列を追加するための分析関数

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



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

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(`Sales`, 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に設定すると、空の値はスキップされます。すべての値が空の値の場合は、デフォルト値を使用できます。

パラメーター
名前
説明

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




ntile


構文
ntile(n)

各ウィンドウパーティションの行を、順序付けされたn個の区分に分割し、各行の区分番号を返します。

パラメーター
名前 説明

n

数値

行を分割する、順序付けされた区分の数を指定します。
例
関数 行の並べ替え。 行のグループ化。
ntile(2) 日付 商品
入力内容
日付 商品 価格
10/04/2012 文房具 100
22/01/2012 文房具 200
21/02/2012 食料品 120
12/05/2012 食料品 100
15/06/2012 食料品 110
出力内容
日付 商品 価格 Ntile
21/02/2012 食料品 120 1
12/05/2012 食料品 100 1
15/06/2012 食料品 110 2
22/01/2012 文房具 200 1
10/04/2012 文房具 100 2
関連情報

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

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

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

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