エリア毎のTOP5を見て比較してみた ~Part 1 : Null値をまず非表示にする~
【好奇心】職員一人当たり児童数で保育所をランク付けできないか?
地図上でのマッピングで近くの保育所が分かるようになったものの、ユーザの中には多少遠くても良質な保育所に入れたいと思う人もいるのではないか?と思った。
今回使用した元データには評価指標のようなものは含まれていなかったが、「職員一人当たりの子どもの数」という項目があり、それに着目した。
「一人の子供により多くの職員が付いていれば見守り体制が手厚く、より高い評価へとつながるのではないか?」
そんな考えから、「職員一人当たりの子どもの数」の値をもとにランキング表を作成することにした。
【準備】Null値を非表示にして、値が入っているところだけを比較したい
東京都・神奈川県の保育所データにはnull値が混ざっていて、これだと表を作っても比較しづらいので、null値を非表示にしたい。
【まずは】フィルタ機能でやってみよう
メジャーのフィルタ編集画面を開き、「連続」の場合は、下記のように値の範囲を指定することができる。ただ、ここで最低値を「1」に設定してしまうと「0」という値を持つ保育所も表示されなくなってしまう。
なるべく多くの保育所を比較したいため、あくまでもnull値だけを除く方法を探したい。
では、「不連続」の場合はどのようにフィルタリングできるのか?
「NULL」と「除外」にチェックを入れたら、null値だけに除外フィルタがかからないか?
表からは消え、「職員一人当たりの子どもの数」を昇順に並べたときに0からスタートするようになったが・・・
いや、フィルタ表示するといるーーーー!
ストライクスルーしとけば出てきても良いわけではないのよ!
うーん・・・この場合フィルタ機能の使用は得策ではないか。
【これはどうか】NULL判定のための計算式を作成するか
計算式①:IF文
計算フィールドに下記の通りの式を入力。「職員一人当たりの子供の数」がNULLの場合は「NULL」、それ以外の場合は「not NULL」と表示される。
フィルタに「NULL判定」を追加し、「Not Null」のみにチェックを入れると非Null値のみが表示されるが、これも前述の通り、そもそもフィルタからもNullという選択肢を非表示にしたいので微妙。
計算式②:T/F判定
下記の式を使えば、T/Fの判定式になり、「職員一人当たりの子供の数」がNULLの場合は「真」、それ以外の場合は「偽」と分けられる。
「NULL判定」を行に追加し、表上で「NULL判定」カラムが「真」となっているところを右クリック。「非表示」を選択すると値が入った行のみが表示されるようになる。
【Tableauっぽさ】セットを作ってフィルタとして使う
Tableauではセット機能を使って、データを指定した括りでまとめることができる。今回の例で言うと、「"職員一人当たりの子供の数"にNullを含まない値のまとまり」セットを作成し、フィルタとして使用する。
まず、フィルタを表示したいディメンションの▼をクリック。
「職員一人当たりの子どもの数」がメジャーとして入っていたので、ディメンションに変換するところから始める。
▼をクリックして、[ディメンションに変換]を選択。
[セット編集] 画面が表示されたら、[全般]タブをクリック。
任意の名前を付けた後、[リストから選択]を選択する。
「NULL」以外の値すべてにチェックを入れて完了。
データ一覧に新規作成したセットが表示されるので、フィルタへドラッグアンドドロップして追加。
この方法を使えば、フィルタを表示しても「Null」は選択肢として表示されない。
ディメンションに変換していたカラムは、[メジャーに変換]を選択するとまたメジャーとして表の中で使うことができる。
【学び】Null値の非表示には複数のアプローチがある
Null値を非表示する方法として、通常フィルタ、計算式、セットの使用があり、それぞれの設定のしやすさやユーザへの見え方の違いが分かった。
Null値の非表示だけであれば、あまり複雑なロジックは使わないため、どの方法を使っても良いかと思うが、表で非表示になっているのにフィルタ表示をした際にユーザに見えてしまうことは避けたいと思う。
この記事が気に入ったらサポートをしてみませんか?