Tableau

Tableauでしてはいけない計算式「==NULL」

結論から言うと、
NULLを計算で使うときは、「比較演算子は使わないんだよ!」って話です。

知っていればそんなの当たり前って感じですが、知らないとやってしまいがち。
例えばこんなの。
Nullが存在する都道府県のデータに対して、以下のようにグループ分けをしたいとします。

[都道府県]がNULLの場合は、0を(下図の赤枠が0)
[都道府県]が”東京都”の場合は、1を(下図の青枠が1)
[都道府県]が”東京都”以外の場合は、2を(下図の枠無しが2)

やってはいけない「==NULL」

さてまずは比較演算子を使って、グループ分けの計算式を作成してみます。

IF [都道府県]==NULL THEN “0”
ELSEIF [都道府県]==’東京都’ THEN “1”
ELSE “2”
END

さて、計算結果を入れてみるとどうでしょう。都道府県がNULLの箇所が「2」になってます。


これは想定外。計算式は上から順に処理されるので、「2」になっているということは
==NULL」の計算が完全無視されており、最終行のELSEで処理されているようです。
「○○がNULLの場合」という条件式を書きたくて比較演算子を使っても、計算されません

ではどうするのか?

NULLを処理したいときは論理関数を使う

NULLの論理関数とは、ISNULL関数IFNULL関数です。
※ISNULLとIFNULLの細かい使用方法はここでは扱わないので、分からない方は調べてみてください。

今回は、ISNULL関数を使います。

IF ISNULL([都道府県]) THEN “0”
ELSEIF [都道府県]==’東京都’ THEN “1”
ELSE “2”
END

今度はうまくいきました。ちゃんと「0」になってる!

ってことで、NULLの計算は論理計算じゃないと処理しないよ!」
ということを
覚えておきましょう!!

Tableauの公式サイトにもしれっと書いてありました……
まさに!!

 

Madoka
平日は頭を動かし、休日は身体を動かす、Snow Manが好きな自由人。ダンスとバク転を特訓中。