今回はTableauにおいてよく質問を受けるNULL値を空白や空文字に置き換える方法について簡単に紹介する。
TableauでNULLがあるフィールドを含めて表を作成すると下記のようにNULLと表示される。
このNULLの表示が表を見づらくしているので、これを空白や空文字に置き換えたいという要望がよくある。
やりたいことは下図の通りだ。
上記のようにNULLを空白に変換するとグッと表が見やすくなる。
これを実現する方法は下記2つ考えられる。
- 別名の編集での名称変更
- 計算フィールドを利用した変換
1つずつやり方を説明していこう。
別名の編集でNULLを名称変更する方法
最も手軽な方法は、NULLを別名の編集で空白に名称変更する方法だと思う。
別名の編集は文字列型のフィールドの値を別の値に名称変更する機能だ。
例えば、「A」を「B」という値に名称変更したい時に活用する。
この別名の編集を利用してNULLを空白(実際は半角スペース)に名称変更してしまうのだ。
具体的には下記のように設定する。
- 表の対象のNULL値を右クリック
- メニューが表示されるので、別名の編集をクリック
- 別名の編集画面が表示されてNULLを別名に変更できる状態となる
- NULLを削除し、半角スペースを入力
上記設定を行うと、下記のように表のNULL表示を消すことが出来る。
注意点としてはNULLを空白に変換したい場合はNULLの代わりに半角スペースを入力する必要がある点だ。
直感的には入力欄を空にした状態でOKを押せば、NULLが空白に変換される気がする。
しかし、実際には変更なしと同じ扱いでNULLの表示はそのままとなるのだ。
また、NULLが表示されているフィールドが複数ある場合は、そのフィールドごとにこの別名の編集を行う必要がある点も覚えておきたい。
これが別名の編集機能を利用した方法だ。
既存のフィールドをそのまま利用できるので最も手軽だが、どのようにNULLを変換しているのかが他の人からはわかりにくいのが難点だ。
計算フィールド利用してNULL変換をする方法
もう1つの方法は計算フィールドを利用する方法だ。
本記事では最もシンプルなIFNULL関数でNULLを空文字に変換する方法を紹介する。
IFNULL関数を利用してNULLを空文字に変換する場合は下記のように行う。
上記で作成した郵便番号(調整)というフィールドを既存の郵便番号のフィールドと差し替えれば、完成だ。
今回はわかりやすいように既存の郵便番号フィールドの隣に作成したフィールドを追加してみた。
フィールドの名称は適時わかりやすいように調整してもらえるとよいと思う。
作成したフィールドはNULLが空白の表示に変わっていることがお分かりいただけると思う。
IFNULL関数は指定したフィールドの値にNULLがある場合は、指定した値に変換してくれる関数だ。
今回の場合は空文字(ダブルクォーテーションの間に何も入れない)を指定したので、NULLが空文字に変換された。
少し話は逸れるが、もし空文字の代わりに「未入力」と指定すれば、空白表示の代わりに下記のように表示させることも可能だ。
このようにIFNULL関数を利用すればNULLの表示を簡単に空文字に変換できる。
元のフィールドを作成した計算フィールドと差し替える手間はあるが、NULLをどう処理しているかが見えやすいので、対象のフィールドが少ない場合はこの方法が良いかもしれない。
特にTableau ServerやTableau Cloud上で編集するしか選択肢がない場合は別名の編集が出来なかったと思うので、この方法で処理するのがよいと思う。
IFNULL関数の詳細に関しては下記記事で紹介している。
まとめ
今回はNULL値を空白や空文字に置き換える2つの方法を紹介した。
- 別名の編集での名称変更
- 計算フィールドを利用した変換
ご自身のライセンスや他のユーザーと共同でダッシュボードを編集するかなどの条件に応じてどちらを選択するか決めてもらえばよいと思う。