Tableauの集計とは何か — なぜ「SUM(売上)」と表示されるのか
Tableauでメジャーフィールドをビューに配置すると、フィールド名が「SUM(売上)」のように集計関数を付加した形で表示されます。 これはTableauが自動的に集計を適用していることを示しています。
なぜこのような自動集計が行われるのでしょうか。
売上データベースには通常、1行1件の注文記録が存在します。ある顧客が10件の注文をした場合、データには10行の売上金額が記録されています。 「東京の売上はいくらか」という問いに答えるためには、東京の顧客の10行分の売上を足し合わせる(SUM集計する)必要があります。
Tableauはメジャーをビューに配置した際、このような集計を自動的に行います。既定の集計方法はSUM(合計)で、フィールド名が「SUM(フィールド名)」として表示されます。 この集計方法はSUM以外にも変更できます。集計対象になるメジャーと、分類に使うディメンションの違いはTableauのディメンションとメジャーの違いを完全整理を参照してください。
集計関数の種類と使い分け
Tableauで使用できる主な集計関数を整理します。
SUM(合計)
既定の集計方法です。フィールドのすべての値を足し合わせた合計値を計算します。「東京の売上合計はいくらか」というような問いに使います。
AVG(平均)
フィールドのすべての値の算術平均を計算します。「1注文あたりの平均売上はいくらか」というような問いに使います。
SUMとAVGの違いは重要です。同じデータに対しても、SUMは「合計」、AVGは「1件あたりの平均」という異なる意味を持ちます。 「営業成績の総合比較」ならSUM、「1回の接触あたりの効果」ならAVGという使い分けが一般的です。
COUNT(件数)とCOUNTD(重複排除件数)の違い
これはTableau試験で最も頻出の集計比較問題です。
COUNTはNULLを除くすべての行数をカウントします。同じ顧客が5回注文した場合、COUNTは5を返します。
COUNTDは重複を排除したユニークな値の数を返します。同じ顧客が5回注文した場合、COUNTDは1を返します(顧客は1人だから)。
「何人の顧客が購入したか」を知りたい場合はCOUNTD(重複を除いた件数)を使います。 COUNTでは同じ顧客の複数注文を重複カウントしてしまい、正確な顧客数が得られません。
「重複を除いた件数」「ユニーク件数」という文言が問題に出てきたらCOUNTDを選ぶ、と覚えておくと確実です。
MIN(最小値)・MAX(最大値)・MEDIAN(中央値)
- MIN: フィールドの最小値を返します。「最も安い注文額はいくらか」などに使います。
- MAX: フィールドの最大値を返します。「最も高い注文額はいくらか」などに使います。
- MEDIAN: フィールドの中央値を返します。AVG(算術平均)と異なり、外れ値の影響を受けにくい代表値として使います。
粒度(ビューの詳細レベル)とは何か
「粒度」とは、ビューで集計の単位(どの単位でデータを集めるか)を表す概念です。Tableauでは、ビューに配置されたディメンションの組み合わせが粒度を決めます。
ディメンションを追加すると集計値が変わる理由
「地域」ディメンションだけがビューにある場合、SUM(売上)は地域ごとの合計になります。「東京: 1,000万円、大阪: 800万円、名古屋: 600万円」のように表示されます。
ここに「製品カテゴリ」ディメンションを追加すると、粒度が「地域」から「地域×製品カテゴリ」に細かくなります。 すると各マークの集計値が「東京×家電: 400万円、東京×衣料: 300万円...」のように分割されます。
注意点は、追加前後でSUM(売上)の「総合計」自体は変わらない点です。地域単位で合計していたものを、地域×製品カテゴリ単位に分割して表示しているに過ぎません。 ただし各マークに表示される数値は変化します。
この仕組みを正確に理解していないと、「ディメンションを追加したら売上が減少した」という誤解が生まれます。
具体例で確認する粒度の変化
販売データを例に考えます。
データには以下のような3行があるとします。
- 東京, 家電, 200万円
- 東京, 衣料, 150万円
- 大阪, 家電, 180万円
「地域」だけのビュー: 東京=350万円(200+150)、大阪=180万円
「地域×製品カテゴリ」のビュー: 東京×家電=200万円、東京×衣料=150万円、大阪×家電=180万円
ディメンションを追加したことで、同じ「東京の合計売上350万円」が内訳に分割されました。これが粒度の変化です。 粒度を踏まえてどのチャートを選ぶべきかはチャート選びの判断基準で解説しています。
AGG()表示の意味 — 集計済みを示すシグナル
計算フィールドの中でSUM([売上])のような集計関数を使ったフィールドは、データペインやシェルフ上で「AGG(計算名)」と表示されます。
AGG表示は「このフィールドはすでに集計済みである」ことを意味します。この状態のフィールドに対してさらにSUMやAVGを適用しようとするとエラーが発生します。 「二重集計はできない」というのがAGG表示の核心的なメッセージです。
計算フィールドを作成する際は、「集計済みの値(AGG)と非集計の値(通常のフィールド)を混在させない」という原則を守ることが重要です。 たとえば「SUM([売上]) + [数量]」という計算式はエラーになります。SUM([売上])は集計済みですが、[数量]は非集計であるためです。 このAGG表示の考え方はTableau計算フィールド入門とも直結しており、集計をより高度にコントロールする方法として、LOD(詳細レベル式)についてはTableau LOD式(FIXED/INCLUDE/EXCLUDE)完全解説で扱っています。
試験で問われる典型パターン
パターン1: 集計関数の使い分け
「注文ごとの重複を除いたユニーク顧客数を求めたい場合に使う集計関数はどれか」という問いに対して「COUNTD」が正解です。 「全注文の件数をカウントしたい(重複ありで構わない)場合」は「COUNT」が正解です。
「COUNTとCOUNTDはどちらが大きい値になりやすいか」という問いに対しては「COUNT(重複を含むため)」が正解です。
パターン2: ディメンション追加による集計値の変化
「カテゴリのみのビューに担当者名ディメンションを追加した場合、SUM(売上)の各マークの値はどうなるか」という問いに対して 「カテゴリ×担当者の組み合わせ単位の集計値に変化する」が正解です。
「合計値が変化する」という選択肢は誤りです。総合計は変わらず、各マークの単位が細かくなるだけです。
パターン3: AGG表示の意味
「計算フィールドにAGG()と表示されている。このフィールドはどのような状態か」という問いに対して 「集計済みのため、さらに別の集計関数を適用することができない」が正解です。
よくある間違いと対処法
- 間違い1: COUNTとCOUNTDを混同する顧客の実人数を求めたいのにCOUNTを使うと、同じ顧客の複数注文が重複カウントされます。 「何人が買ったか(ユニーク件数)」はCOUNTD、「何回買われたか(総注文数)」はCOUNTという使い分けを徹底しましょう。
- 間違い2: ディメンション追加で「売上が減った」と誤解するディメンションを追加すると各マークの数字は変わりますが、総合計は変わりません。粒度が細かくなって各マークが「分割」された結果です。 数字の意味が変わっただけで、データが変わったわけではありません。
- 間違い3: 集計と非集計を混在させた計算フィールドを作る「SUM([売上]) / [数量]」のように、集計済みの値と非集計の値を1つの計算式に混在させるとエラーになります。 「すべて集計」または「すべて非集計」に統一することが原則です。
PassDojoで実力を確認しよう
集計の仕組みが整理できたら、模擬試験や実技演習で定着させましょう。
※ 本記事はTableau Desktop基礎(旧Specialist)試験・Tableau Certified Data Analyst試験の学習を支援する目的で作成しています。 試験の最新情報はSalesforce(Tableau)の公式サイトをご確認ください。Tableau・Salesforceは各社の商標または登録商標です。
この記事の内容を、問題を解いて定着させる
模擬試験で現在地を測り、入門学習で不足している知識を埋められます。