GROUPBY関数は、行(縦)でグループ化し指定された関数によって値を集計します。
行の軸に沿ったグループ化と、関連する値の集計がサポートされます。
複数の行グループレベルに対応しています。
総計・小計、並べ替え、フィルター処理もサポートされています。
集計にはイータ縮小ラムダ(eta reduced lambda)または明示的なLAMBDAが使用できます。
・LAMBDAヘルパー関数 ・イータ縮小LAMBDA ・イータ縮小ラムダ 使用例と解説
GROUPBY関数は縦軸の1軸だけのグループ化です。
縦横の2軸でのグループ化はPIVOTBY関数を使用します。
GROUPBY関数の構文
GROUPBY(行フィールド,値,関数,[フィールドヘッダー],[合計深さ],[並べ替え順序],[フィルター配列])
引数 | 説明 |
行フィールド | 必須 行をグループ化し、行ヘッダーを生成するために使用される値を含む列方向(縦方向)の配列または範囲。 配列または範囲には複数の列を含むことが出来ます。 その場合、出力には複数の行グループ レベルが含まれます。 |
値 | 必須) 集計するデータの列指向の配列または範囲。 配列または範囲には複数の列が含まれる場合があります。その場合、出力には複数の集計が含まれます。 |
関数 | 必須 値を集計するために使用される明示的(LAMBDA関数)またはイータ縮小ラムダ関数を指定。 ラムダのベクトル(配列)を指定できます。 その場合、出力には複数の集計が含まれます。ベクトル(配列)の向きによって行方向/列方向のレイアウトが決まります。 イータ縮小LAMBDAとして以下の関数が用意されています。 SUM AVERAGE MEDIAN COUNT COUNTA MAX MIN PRODUCT ARRAYTOTEXT CONCAT SRDEV.S STDEV.P VAR.S VAR.P MODE.SNGL |
フィールドヘッダー | 省略可能 row_field と値にヘッダーがあるかどうか、および結果でフィールド ヘッダーを返すかどうかを指定する数値。 省略 ::自動。 0 : いいえ(ヘッダーなし、ヘッダー生成しない) 1 : はい、表示しません(ヘッダーあり、ヘッダー表示しない) 2 : いいえ、生成します(ヘッダーなし、ヘッダー生成する) 3 : はい、表示します(ヘッダーあり、ヘッダー出力する) 自動では、values引数に基づいてデータにヘッダーが含まれていると想定されます。 1番目の値がテキストで 2 番目の値が数値の場合、データにはヘッダーがあるとみなされます。 複数の行または列グループ レベルがある場合、フィールド ヘッダーが自動で表示されます。 |
合計深さ | 省略可能 行ヘッダーに合計を含めるかどうかを決定します。 省略 : 自動: 総計と、可能な場合は小計。 0 : 合計なし 1 : 総計 2 : 総計と小計 -1 : 上部に総計 -2 : 上部に総計と小計 小計の場合、フィールドには少なくとも 2つの列が必要です。 フィールドに十分な列がある場合、2より大きい数値がサポートされます 。 |
並べ替え順序 | 省略可能 省略時は行フィールドの昇順で並べ替えられます。 行をソートする方法を示す数値。 数値(1から始まる)はrow_fieldsの列に対応し、その後にvalueの列が続きます。 数値が負の場合、行は降順/逆順に並べ替えられます。 row_fieldsのみに基づいて並べ替える場合は、数値のベクトル(配列)を指定できます。 |
フィルター配列 | 省略可能 対応するデータ行を対象とするかどうかを示すブール値の列指向(縦方向)1時限配列。 配列の長さは、row_fieldsに提供される配列の長さと一致する必要があります。 |
続きは以下で。