今回は重複を除いたデータ数を数えたい際に便利な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関数を計算フィールドで使いたい場合の指定方法は非常にシンプルで下図の通りだ。
COUNTDの後に、重複を除いたデータ数をカウントしたいフィールドを指定するだけだ。
COUNTD関数の使用シーン
COUNTD関数は例えば、下記のようなシーンで使用される。
- サービスを利用したユニークユーザーを知りたい時
- 顧客ごとの購入回数を調べたい時(LOD表現のFIXED関数と組み合わせて)
- サイトを訪問したユニークユーザーを知りたい時
まとめ
今回は重複を除いたデータ数を数えるCOUNTD関数について解説した。
EXCELだと重複を除いたデータ数を数えるのにかなり手間がかかるが、Tableauだとめちゃくちゃ簡単で、Tableauを使い始めた時に私は感動した記憶がある(笑)。
COUNT関数よりも応用が利いて実務上で結構使うのでぜひ覚えてほしい。
Tableauの他の関数は下記にまとめているので、活用してみてもらえると嬉しい。