Tableau COUNT・COUNTD関数の使い方|重複対策・COUNTIF的集計もこれでバッチリ!

TableauにおけるCOUNT関数とCOUNTD関数は、レコード件数の集計に使われる基本関数です。その違いは「重複を数えるかどうか」。

  • COUNT:重複を含めてカウント
  • COUNTD:重複を除外してユニークな件数だけカウント
目次

COUNT・COUNTD関数とは?

COUNT関数の書式

COUNT([フィールド])

→ null以外のレコード件数をカウントします。

COUNTD関数の書式

COUNTD([フィールド])

→ null以外かつ重複しない値の件数をカウントします。

シンプルな使い方例

COUNT([カテゴリ])       // 全カテゴリの数
COUNTD([カテゴリ])      // ユニークなカテゴリの数

通常、これだけで使うことは稀で、IF関数などと組み合わせて条件付きで使うケースが大半です。

COUNTIFのように使うには?

TableauにはCOUNTIF関数はありませんが、IFを内包することで再現可能です。

例:コピー機を購入した顧客数

COUNT(IF [サブカテゴリ] = "コピー機" THEN [顧客名] END)

重複を除きたい場合(ユニーク顧客数)

COUNTD(IF [サブカテゴリ] = "コピー機" THEN [顧客名] END)

COUNTIFSのように複数条件を使う

複数の条件をAND / ORで組み合わせれば、COUNTIFSのような表現も可能です。

COUNT(IF [サブカテゴリ] = "コピー機" AND [地域] = "関東" THEN [顧客名] END)
COUNTD(IF [カテゴリ] = "テクノロジー" OR [売上] > 1000 THEN [顧客ID] END)

よくある応用パターン

1. NULLを除いた件数を取得したい

COUNT([フィールド])     // 自動的にNULLはカウントしません

2. 特定の条件を満たすレコード件数を取得したい

COUNT(IF [売上] > 500 THEN [注文ID] END)

3. フラグ的な値を使って件数を制御したい

IF [売上] > 1000 THEN 1 ELSE 0 END
→ これをSUMすれば、該当件数が取れる(COUNTと同じ)

4. 別フィールドでユニークカウントしたい(顧客ベースの分析など)

COUNTD(IF [カテゴリ] = "オフィス用品" THEN [顧客名] END)

5. 否定条件のカウント

COUNT(IF NOT [状態] = "キャンセル" THEN [注文ID] END)

よくある間違いと注意点

  • COUNTD([数値]) でも文字列でも使えるが、NULLはカウントされない
  • IF関数と一緒に使うと、ELSEを省略した場合はNULLが返る → カウントに含まれなくなる
  • フィルターと組み合わせるとき、計算フィールド内と外で結果が変わるので注意

ユースケース

1. 購入者数(ユニークな顧客ID数)

COUNTD([顧客ID])

2. 商品カテゴリ別の購入件数(重複あり)

COUNT([注文ID])

3. 特定条件に一致する行だけのカウント

COUNT(IF [ステータス] = "完了" THEN [注文ID] END)

4. 異常値の検出件数(売上0件など)

COUNT(IF [売上] = 0 THEN [商品名] END)

5. 顧客単位での購買頻度分析

COUNTD([注文ID])  // 集計軸に顧客名を置くと、顧客ごとの注文回数がわかる

まとめ

COUNTCOUNTDは、Tableauの集計処理の中でも頻出する関数です。

  • COUNT:単純な件数(NULL以外)
  • COUNTD:ユニーク件数(重複なし)
  • IFとの組み合わせでCOUNTIF的な使い方が可能

Tableauでレコード数や人数、商品数などを集計する場合は必ずといっていいほど使う関数です。条件付き集計、複数条件、否定条件、NULL対応まで含めて、柔軟に活用しましょう。

Comment

コメントする

目次