コンテンツにスキップ

データ集計

キー列ごとに値をまとめます。GROUP BY と集計関数の SELECT を組み立てる機能です。

分析プロジェクトとの違い

見るところSQLビルダー分析プロジェクト
集計関数合計 / 平均 / 最小値 / 最大値 / カウント / ユニークカウント上に加えて中央値・標準偏差
キー列を使わない全体集計ない(キー列は必須)ある
欠損値の置換ないある
出力の列名sum_売上 のように関数名が前に付く選べる

中央値と標準偏差は SQLビルダーでは出せません。 必要なら先にデータソース化するで nehan に取り込み、分析プロジェクトのデータ集計を使ってください。

入出力

ポート内容
入力データデータ
出力データデータ

設定項目

キー列を選択必須
この列の値が同じ行を 1 行にまとめます。複数選べます。
集計設定
関数と対象列の組を足していきます。1 つの組は下の 3 つからできています。
関数を選択必須
合計 / 平均 / 最小値 / 最大値 / カウント / ユニークカウントの 6 つ。
集計対象列を選択
選べる列は関数によって変わります。合計と平均は数値列だけ、ほかの 4 つは数値・文字列・日付・日付時刻から選べます。複数選べます。
列選択オプション
集計対象列をまとめて選ぶための補助です。特定の文字列から始まる列・で終わる列・を含む列を一括で選べ、選択した列を除外するで裏返せます。

出力される列

出力はキー列と集計結果だけになり、それ以外の列は落ちます。

集計結果の列名は 関数名_元の列名 です。

関数列名
合計sum_売上
平均avg_売上
最小値min_売上
最大値max_売上
カウントcount_売上
ユニークカウントuniq_cnt_売上

英字の列名は小文字になります。 Sales を合計すると sum_sales です。

生成される SQL

PostgreSQL につないで、店舗 ごとに 売上 を合計し、顧客番号 のユニークカウントを取った場合です。

SELECT
"店舗",
SUM("売上") AS "sum_売上",
COUNT(DISTINCT "顧客番号") AS "uniq_cnt_顧客番号"
FROM "orders"
GROUP BY "店舗"

ユニークカウントだけは COUNT(DISTINCT ...) になり、ほかは関数名がそのまま使われます。

エラーと対処

どのエラーも、設定を直してノードを実行し直せば消えます。

上流にない列が選ばれている

前のノードで列が消えたあとに実行すると出ます。

存在しない列が選択されています

直し方 — キー列と集計対象列を選び直してください。

入力がつながっていない

前のノードがつながっていないと出ます。

カラムが選択されていません。条件を確認してください

直し方 — 入力にノードをつないでください。

よく使う例

1. 店舗ごとの売上を合計する

お題 — 店舗別の売上合計を見たい

入力 — 店舗 売上 顧客番号

設定 — キー列 店舗、合計 → 売上

出力 — 店舗 sum_売上

2. 2 つの軸でまとめる

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

入力 — 店舗 年月 売上

設定 — キー列に 店舗 と 年月 の 2 つ、合計 → 売上

出力 — 組ごとに 1 行

3. 実人数を数える

お題 — 延べ件数ではなく、何人が買ったかを知りたい

入力 — 店舗 顧客番号

設定 — キー列 店舗、ユニークカウント → 顧客番号

出力 — 店舗 uniq_cnt_顧客番号

4. 1 つのノードで合計と平均を両方出す

お題 — 合計と平均を並べて見たい

入力 — 店舗 売上

設定 — 集計設定を 2 組作る。1 組目は合計 → 売上、2 組目は平均 → 売上

出力 — sum_売上 と avg_売上 が並びます

5. 名前が似た列をまとめて集計する

お題 — 売上_1月 〜 売上_12月 の 12 列を一度に合計したい

入力 — 商品 売上_1月 〜 売上_12月

設定 — 列選択オプションの「特定の文字列から始まる列を一括選択」に 売上_ を入れる

出力 — 12 本の sum_売上_◯月 が出ます

6. 集計の前に期間を絞る

お題 — 今年のぶんだけ集計したい

入力 — 店舗 受注日 売上

設定 — 手前に条件で行を絞り込みを置いてから集計する

出力 — WHERE が先に効くので、集計の対象が減ります

関連