Tableau

Tableau Tips:ヒートマップで欠損している箇所を白く塗りつぶす

利用するデータ

毎度おなじみのスーパーストアのデータを使用します。

とりあえずヒートマップを描画する

列に[オーダー年]、行に[サブカテゴリ]を入れて[売上]の合計で配色しました。

このようにディメンションの組み合わせで欠損が存在しない場合は問題なく配色されます

では、次に欠損が存在するケースを見ていきます。あらかじめ、ダミーの欠損ありの売上を以下のように定義しておきます。

これを色に入れてみると下図のように欠損している箇所にも色が入ってしまいます。

ラベルが表示されている場合は欠損していることがわかりますが、表示されていない場合はぱっと見では欠損の有無が判断つかない状態です。

欠損している箇所を白く塗りつぶす方法

方法1:配色用の計算式+色の設定

まずは配色用の計算式を以下のように定義します。

やっていることはZN関数でNULLを0に置き換えるというごく単純な変換になります。この計算式を”マーク > 色”に入れるのですがその際、”色の編集”の”パレット”の部分で白を含む分化を選択することがキーポイントになります。さらに”詳細”から”中央”の値を0にします。これにより0は白が配色されることになり、欠損している箇所がわかりやすくなります。

方法2:棒グラフ+軸の編集

まずは棒グラフを作成し、”マーク > サイズ”から棒の幅を最大限に広げます。

次に横軸のヘッダー部分を右クリックし、”軸の編集”から軸の範囲を変更します。
デフォルトだと自動が選択されていますが、これを固定に変更し、”開始値”を0、”終了値”をどのディメンションの組み合わせによる合計売上よりも小さな値(今回は1にしています)に設定します。

その後、横軸のヘッダーを非表示にすることで棒グラフを用いたヒートマップ表現が可能になります。

さいごに

方法1よりも方法2の方がトリッキーな印象ですが、新しい計算式を必要としないのは1つの長所かと思います。本記事で紹介した以外の方法をご存じの方がいらっしゃいましたら、教えていただけると幸いですm(__)m

 

mochizuki
データサイエンティスト。筋トレ、温泉、時々スキー。