
「ユニークユーザー数を数えたいけど、重複したデータを除く方法がわからない…」
そんなときに活躍するのが COUNTD関数だ。
Tableauでは、重複を自動的に除いてデータ数をカウントできるため、Excelよりもはるかに簡単に重複を除いたデータ数を取得できる。
この記事では、COUNTD関数の基本的な使い方から、COUNT関数との違い、実務での活用例までをわかりやすく解説していく。
COUNTD関数とは?
COUNTD(カウントディー)関数は指定したフィールドの重複を除いたデータ数を数える関数だ。
COUNTDのDは「Distinct」の略だ。
例えば、1ヶ月間にサービスを利用してくれたユニークユーザー(複数回利用した人も1人とカウントした人数)を把握したい時などにCOUNTD関数は便利だ。
下記はサンプルスーパーストアのデータにおける、ユニークユーザー(顧客idの重複を除外した数)をCOUNTD関数で算出している例だ。

重複を除いた顧客idは794となっている。
つまり、サンプルスーパーストアにおける全顧客数は794名ということがわかる。
上記は計算フィールドの作成からCOUNTD関数を入力したが、実はメジャーの集計方法を「個別のカウント」に選択すればTableauで下記のように自動的に入力される。

この例は、シンプルにCOUNTD関数で重複を除いたデータを使用したい時にしか使えない。
他の関数と組み合わせて、COUNTD関数を使用したい時は、通常通り、計算フィールドの作成から行う必要がある。
このCOUNTD関数と混同しやすいのが、指定したフィールドのデータ数を重複を含めて数えるCOUNT関数だ。
COUNT関数との違いは?
COUNTD関数もCOUNT関数もどちらも
- 「データ数を数える」という点
- SUMやAVGと同様の集計関数である点
では共通している。
違いは「重複したデータをカウントするかどうか」だ。
COUNT関数は指定したフィールドに、重複したデータがあっても関係なくデータを集計する。
一方、COUNTD関数は重複しているデータを除いてデータをカウントする。
例えば、COUNT関数を使用してサンプルスーパーストアにおける顧客idのデータ数を数えてみよう。
先ほどのCOUNTD関数でのカウント数(794)と大きく値が異なるのがお分かりいただけると思う。

このように、COUNT関数は重複したデータを含めてデータ数をカウントするので、重複を除いたデータを数えたい場合はCOUNTD関数を使用するようにしよう。
COUNTD関数の指定方法
COUNTD関数を計算フィールドで使いたい場合は下記のように指定すればOKだ。

COUNTDの後に、重複を除いたデータ数をカウントしたいフィールドを指定するだけだ。
COUNTD関数の使用シーン
COUNTD関数は例えば、下記のようなシーンで使用される。
- サービスを利用した顧客数のユニークを知りたい時
- 問い合わせIDのユニーク数を取得して、重複を除いた問い合わせ数を取得したい場合
- 顧客ごとの購入回数を調べたい時(LOD表現のFIXED関数と組み合わせて)
- サイトを訪問したユニークユーザーを知りたい時
まとめ
今回は重複を除いたデータ数を数えるCOUNTD関数について解説した。
- COUNTD関数 は、指定したフィールドの重複を除いたデータ数を数える関数
- “D” は “Distinct” の略で、「一意の値(ユニークな値)」を意味する
- COUNT関数 は重複を含めて数えるため、COUNTDとは結果が異なる点に注意
- 「ユニークユーザー数」や「顧客数」など、重複を除いた集計が必要な場面で活躍
- 計算フィールドで
COUNTD([フィールド名])と指定するだけで簡単に使える
EXCELだと重複を除いたデータ数を数えるのにかなり手間がかかるが、Tableauだとめちゃくちゃ簡単で、Tableauを使い始めた時に私は感動した記憶がある(笑)。
COUNT関数よりも応用が利いて、実務で必須の関数なのでぜひ覚えてほしい。
Tableauの他の関数は下記にまとめているので、活用してみてもらえると嬉しい。





