コンテンツにスキップ

データ集計

キーごとに値をまとめます。店舗別の売上合計、顧客ごとの注文件数、日別の平均単価といった小計を作ります。

入出力

ポート内容
入力データデータ
出力データキーの組み合わせごとに 1 行にまとめたデータ

Spark エンジンでも動きます。

キー列と、集計した列だけが残ります。 集計の対象にしなかった列は出力から消えます。残したい列は、キー列に入れるか、データの値を列に挿入で後からくっつけてください。

設定項目

キー列を選択必須
まとめる単位になる列。複数選べます。「キー列を指定する」を off にすると、この項目は消えて全体が 1 行になります。

集計の設定

関数と対象列の組です。いくつでも足せます。

関数を選択必須
合計 / 平均 / 中央値 / 最小値 / 最大値 / 標準偏差 / カウント / ユニークカウント。選んだ関数によって、次の「集計対象列を選択」で選べる列の型が変わります。
集計対象列を選択
集計する列。複数選べます。カウントのときは「カウントする列を指定する」を on にしたときだけ出ます。1 列も選ばないと「対象の列が選択されていません。」で止まります。
カウントする列を指定する
関数がカウントのときだけ出ます。既定は off です。off なら行数、on なら選んだ列に値が入っている行の数を数えます。

オプション

集計後の列名に関数名を付与する
既定は on。売上_合計 のように、元の列名のうしろに関数の名前が付きます。off にすると元の列名のままです。
数値型の集計対象列の欠損値を置換して処理する
数値を入れると、集計する前に数値型の列の空欄をその値に置き換えます。空のままなら空欄は無視されます。
キー列を指定する
既定は on。off にすると「キー列を選択」が消え、データ全体を 1 行に集計します。

関数ごとの違い

選んだ関数によって、集計対象に選べる列の型が変わります。

関数と、選べる列の型
関数選べる型空欄の扱い
合計数値無視する
平均数値 / 時間無視する
中央値数値無視する
最小値数値 / 日付 / 日付時間 / 時間無視する
最大値数値 / 日付 / 日付時間 / 時間無視する
標準偏差数値無視する
カウントすべての型。「カウントする列を指定する」が off のときは列を選びません行数は空欄も数える。列を指定したときは空欄を無視する
ユニークカウントすべての型無視する

カウントの 2 通り

行数を数える(既定)
キーごとの行数。空欄の行も数えます。出力の列名は 行数カウント です。
列を指定して数える
選んだ列に値が入っている行の数。出力の列名は 住所_カウント のようになります。

「注文件数」は行数、「住所が登録されている人数」は列を指定、と使い分けます。

出力の形

  • キー列 + 集計した列が並びます
  • キーの組み合わせごとに 1 行になります
  • 集計した列は元の列ごとにまとまって並びます。同じ列に合計と平均を掛けると 売上_合計 売上_平均 が隣り合います

列名には日本語の関数名が付きます。

関数「集計後の列名に関数名を付与する」が on のときの列名
合計売上_合計
平均売上_平均
中央値売上_中央値
最小値売上_最小値
最大値売上_最大値
標準偏差売上_標準偏差
カウント(行数)行数カウント
カウント(列を指定)住所_カウント
ユニークカウント顧客ID_ユニークカウント

行数カウント だけは例外で、「集計後の列名に関数名を付与する」を off にしても名前が変わりません。

同じ列に複数の関数を掛ける場合は on のままにしてください。 off だと同じ名前の列ができてしまいます。

キー列が空欄の行

捨てられません。 キーが空欄の行はひとまとめにされ、出力でもキーは空欄のまま 1 行として並びます。「未入力が何件あるか」をそのまま数えられます。

エラーと対処

集計の設定がない

集計の設定を 1 つも作っていないとき。

集計設定を入力してください。追加ボタンを押すと設定項目が表示されます。

直し方 — 「追加」を押して、関数と対象列を指定してください。

関数を選んでいない

設定を作ったが、関数が空のとき。

集計関数が選択されていません。

直し方 — 関数を選んでください。

列の型に使えない関数を指定した

文字列の列に合計、日付の列に平均、のように型が合わない組み合わせのとき。

列: {{col}}は{{dtype}}のため{{funcs}}の計算は出来ません。

直し方 — 関数ごとの違いに合う関数へ変えるか、列の型変更で列の型を変えます。

同じ組み合わせを 2 回設定した

同じ列に同じ関数を 2 回設定したとき。別々の設定にまたがっていても見ます。

集計設定に重複があるため処理を中断しました。お手数ですが設定が単一になるように入力してください。 対象:

直し方 — メッセージに出ている列と関数の組を、どちらか 1 つ消してください。

集計対象列を選んでいない

関数を選んだあと、「集計対象列を選択」で 1 列も選ばずに実行したとき。

対象の列が選択されていません。

直し方 — 集計対象列を選んでください。関数がカウントで行数を数えたいだけなら、「カウントする列を指定する」を off にします。

数値でない列を集計しようとした

合計や平均の対象に、数値として読めない値が入っているとき。

集計列に数値以外のデータが含まれています。データを確認してください。

直し方 — 列の型変更で数値にしてください。数値にできない値が混ざっている場合は、先に取り除くか置き換えます。

選んだ列が見つからない

キー列を選択や集計対象列を選択で指定した列が入力データにないとき、またはどの条件にも 1 列も当たらないとき。前の処理で列名が変わった場合にも出ます。

対象の列が存在しません。

直し方 — 列を選び直してください。列名が変わりうるデータでは、名前に頼らない選び方(型で選ぶ・前方一致)に変えると壊れにくくなります。

よく使う例

1. 店舗別の売上合計

お題 — 店舗ごとの売上を知りたい

入力

店舗売上
渋谷220000
渋谷200000
新宿310000

設定 — キー列 店舗、関数「合計」、集計対象列 売上

出力

店舗売上_合計
渋谷420000
新宿310000

2. 顧客ごとの注文件数

お題 — 何回注文したかを数えたい

入力

顧客ID注文番号
C0011001
C0011002
C0021003

設定 — キー列 顧客ID、関数「カウント」、「カウントする列を指定する」は off

出力

顧客ID行数カウント
C0012
C0021

3. 2 つのキーでまとめる

お題 — 店舗と月の両方でまとめたい

入力

店舗年月売上
渋谷2024-01120
渋谷2024-0180
渋谷2024-02140
新宿2024-0198

設定 — キー列に 店舗 と 年月 の 2 つ、関数「合計」、集計対象列 売上

出力

店舗年月売上_合計
渋谷2024-01200
渋谷2024-02140
新宿2024-0198

4. 複数の集計を一度に出す

お題 — 店舗ごとに、売上の合計・平均・件数が欲しい

入力

店舗売上
渋谷220000
渋谷200000
新宿310000

設定 — 集計の設定を 3 つ作ります。合計と平均は集計対象列 売上、カウントは「カウントする列を指定する」を off

出力

店舗売上_合計売上_平均行数カウント
渋谷4200002100002
新宿3100003100001

5. 全体の合計を出す

お題 — 全体で 1 行の集計が欲しい(比率の計算に使う)

入力

店舗売上
渋谷420000
新宿310000

設定 — 「キー列を指定する」を off、関数「合計」、集計対象列 売上

出力

売上_合計
730000

1 行のデータになるので、データの値を列に挿入で明細の各行にくっつけて比率を出せます。

6. 空欄を 0 として平均を出す

お題 — 未入力を 0 とみなして平均したい

入力

店舗売上
渋谷400
渋谷500
渋谷

設定 — キー列 店舗、関数「平均」、集計対象列 売上、「数値型の集計対象列の欠損値を置換して処理する」に 0

出力

店舗売上_平均
渋谷300

空のままにすると空欄の行が分母から外れ、450 になります。

7. 何種類あるかを数える

お題 — 店舗ごとに、何人の顧客が来たか

入力

店舗顧客ID
渋谷C001
渋谷C001
渋谷C002

設定 — キー列 店舗、関数「ユニークカウント」、集計対象列 顧客ID

出力

店舗顧客ID_ユニークカウント
渋谷2

同じ顧客が複数回来ても 1 と数えます。

8. 縦持ちにしてからまとめて集計する

お題 — 月ごとに列が分かれた表を、月別に集計したい

入力

店舗1月2月
渋谷120140
新宿98110

設定 — 先に縦持ち変換でキー列 店舗、列名の挿入先 月、値の挿入先 売上 にしてから、キー列 月、関数「合計」、集計対象列 売上

出力

月売上_合計
1月218
2月250

月の列が増えても、集計の設定を足さずに済みます。

エラーと対処

集計設定が重なっている

Hyper nehanで実行したとき、同じ列に同じ集計方法を 2 回設定していると止まります。

集計設定に重複があるため処理を中断しました。お手数ですが設定が単一になるように入力してください。

直し方 — 重なっている行を消してください。同じ列でも、集計方法が違えば並べられます。

関連