TableauでLOOKUP()とZN()で空のセルにゼロを入れる件

Tableauで空のセルにゼロを入れるにはLOOKUP()とZN()を使うらしいのですが、意味がよくわからなかったので試してみました。

csvファイルはこんな感じ。

DATE, NAME, COUNT
2016/02/01, AAA, 5
2016/03/01, AAA, 3
2016/01/01, BBB, 2
2016/02/01, BBB,

 DATEが1月、2月、3月、NAMEがAAA、BBBのデータがあります。BBBの2月はデータはあるように見えるけど、空欄になっています。さらにAAAは1月が無いし、BBBは3月が無いです。

Tableauに読み込ませて、

f:id:Akiyah:20160427000709p:plain

ワークシートに移動します。

f:id:Akiyah:20160427000718p:plain

テキスト表を使って適当に表示させるとこうなります。

f:id:Akiyah:20160427001019p:plain

この状態だと空のセルがあります。ここにゼロを入れたいのです。まずはZN()を使ってみます。ZN COUNTという名前でZN([COUNT])という式の計算式を作ります。

f:id:Akiyah:20160427001513p:plain

こうすると空欄だったBBBの2月が0になりますね。ZN()は式がNULLでない場合はそのまま返して、それ以外は0を返すのだそうです。でもまだ空のセルが残っています。

つぎにLOOKUP()を使います。ZN LOOKUP COUNTという名前でZN(LOOKUP(SUM([COUNT]), 0))という式の計算式を作ります。

f:id:Akiyah:20160427002020p:plain

すると、空のセルがなくなって、空だった部分にゼロがはいりました。LOOKUP()は本来こういう用途に使うわけではないようですが、バッドノウハウとしてデータがないセルを存在するように見せかけることができるようです。

下に書いた参考のURLには、LOOKUP()の別の用途も紹介されていますね。

 

参考

空のセルをゼロまたは既存のデータで設定 | Tableau Software