こんにちは、エクスチュア渡部です。
Tableauの小ネタです。「Tableauで累計の個別カウント数を時系列で表現したい」という要望に対応する方法をお伝えします。
例えば、
4/1の購買客:Aさん、Bさん
4/2の購買客:Aさん、Cさん、Dさん
4/3の購買客:Aさん、Eさん
というデータがある場合、
4/1:2
4/2:4
4/3:5
のように、「その日付までに何人が個別カウント出来るか」という指標です。
今回はサンプルスーパーストアのデータを使って、
「顧客名」の「オーダー日」別累計ユニークカウントを実現してみます。
基本的な作り方は一緒なので、是非応用ください。
・手順
実は手順は簡単です。
① 下記のような計算フィールドを作る
{ INCLUDE [顧客名]: MIN(IF [オーダー日]= { EXCLUDE [オーダー日] : MIN([オーダー日])} THEN 1 ELSE 0 END) }
② 列にオーダー日、行に①で作った計算フィールドを入れて、表計算で[オーダー日]を使った累計を選択する
出来ました。(カテゴリ別も出してみました)
・解説
方針は、①で各顧客の最初の購買日なら1を返す式を作り、
②で①の日毎の合計を累計しているということです。
・注意点
時系列の粒度を週別にしたい場合は、
{ INCLUDE [顧客名]: MIN(IF DATETRUNC(‘week’,[オーダー日]) = { EXCLUDE DATETRUNC(‘week’,[オーダー日]) : MIN(DATETRUNC(‘week’,[オーダー日]) )} THEN 1 ELSE 0 END) }
時系列の粒度を月別にしたい場合は、
{ INCLUDE [顧客名]: MIN(IF DATETRUNC(‘month’,[オーダー日]) = { EXCLUDE DATETRUNC(‘month’,[オーダー日]) : MIN(DATETRUNC(‘month’,[オーダー日]) )} THEN 1 ELSE 0 END) }
とLOD式内のディメンションを調整する必要があります。
参考にしたのは、
https://kb.tableau.com/articles/howto/calculating-a-running-count-distinct
です。なかなか思いつかないテクニックですね。。
————-
エクスチュアは国内では希少なTableau Certified Professionalも在籍するTableauのパートナー企業です。
また、Google Cloud Platform、Adobe Marketing Cloudといったマーケティングテクノロジーに精通したスタッフが、
デジタルマーケティングからビッグデータ分析まで統合的にサポートします。
お問い合わせはこちらからどうぞ
ブログへの記事リクエストはこちらまで