【計算フィールド】Tableauで複数列に対して重複排除する
やりたいこと
以下のような、ユーザーが商品を購入した日が格納されたデータがあります。
user | date |
---|---|
A | 7/1 |
A | 7/2 |
A | 7/2 |
A | 7/4 |
B | 6/10 |
B | 6/11 |
B | 6/11 |
ユーザーが購入したユニークな日をカウントしたいですが、
Tableauではどのようにすればよろしいでしょうか?
SQLを利用する場合
SQLを用いて集計する際には、GROUP BY
を用いて、
SELECT user, COUNT(DISTINCT date) as day_cnt FROM table GROUP BY user
このように記載すれば、ユーザー毎にユニークの日付をカウントすることができます。
SQLの集計結果のイメージとして、
user | day_cnt |
---|---|
A | 3 |
B | 2 |
こういった形で集計結果を得ることができます。
Tableauを利用する場合
さて、SQLの集計と同じ結果をTableauでも算出するためには、
計算フィールドを利用する必要があります。
単一カラムのみであれば、COUNTD()
を用いることができますが、
今回は、user
とdate
の複数列が対象となります。
このケースでは、TableauのLOD表現を利用しましょう。
- 手順①:「分析 > 計算フィールドの作成 」を選択
- 手順②:計算フィールドに計算式を入力
計算フィールド
{ FIXED [user],[date]:COUNTD(date)}
たった、これだけの手順で計算することができました。
意外に簡単ですよね。
今回のように計算フィールドを用いてあげると、
処理を行える幅が非常に広がるのでぜひ使っていきましょう。
また、Tableauに関しては参考となる書籍がたくさんあるため、
それらの書籍を読みながら実際に触ってみることをお勧めします。
参考書籍
- 作者: 小野泰輔,黒木賢一,長野克也,下山輝昌,高木洋介
- 出版社/メーカー: 秀和システム
- 発売日: 2018/08/24
- メディア: 単行本
- この商品を含むブログを見る
- 作者: 小野泰輔,前田周輝,清水隆介,三好淳一,山口将央
- 出版社/メーカー: 秀和システム
- 発売日: 2017/03/25
- メディア: 単行本
- この商品を含むブログを見る