今回はIN関数について解説していきたいと思う。
IN関数はあまり馴染みがない人も多いと思うが、覚えておくと意外に使える場面がある面白い関数だ。
IN関数とは?
IN関数とは対象のフィールドの値が指定した値と一致する場合に真(TRUE)を返してくれる関数だ。
IF関数やCASE関数、IIF関数と同じ論理関数の1つだが、他の論理関数に比べると使っている人はすごく少ない気がする。
かく言う私も実際に使うようになったのは実は最近ではある(笑)。
IN関数は正直どういう感じで使えばいいのかのイメージがつきにくいが、具体例で見てみるとかなり理解しやすくなる。
例えば、下記の図は都道府県のデータをIN関数を使用して「関東地方」と「それ他」に区分けしている。
IF関数での場合分けをしているが、IN関数を使用することによって都道府県の値をグルーピングしているのだ。
上記のように、都道府県の情報まではあるけど、それを
「地域単位までグルーピングして見たい!」
という要望は特に広告系のダッシュボードを作成する時に多い。
IN関数はこういう大量の値のグルーピングや今後データが増えていく場合のグルーピングに便利な関数だ
IN関数の使い方
IN関数の使い方は若干わかりにくいが、下記の通りだ。
上記を翻訳すると
「対象のフィールド(これが<expr1>)の各値が、任意の値(これが<expr2>)に該当する場合は真(TRUE)を返す」
という意味になる。
具体的に先ほどの例のIN関数の設定部分だけを切り出して、どのように設定をしているかを確認してみると下記のようになる。
都道府県フィールドの値の中で、関東地方に該当する都道府県の値があった場合は真(TRUE)を返す、という指定をしている。
実際に都道府県の各値をチェックしてみると下記のようにIN関数で指定した値だけ真(TRUE)が返されている。
具体例を見ると、
「IN関数ってこうやって使うんだ。意外に簡単そうだ。」
と思えてこないだろうか?(笑)
IN関数はこのように使用していく。
IN関数の活用シーン
実務において、IN関数は先ほどの例に挙げたような下記のシーンで活躍してくれる。
- IF関数と組み合わせた大量の項目のグルーピングでの利用(都道府県を地域にまとめたり、カテゴリを大カテゴリにまとめる、など)
- フィルター用のフラグでの利用(都道府県フィールドの値で関東地方に該当する場合のみ値を表示させる、など)
IN関数は比較的マイナーな関数かもしれない。
ただ、私はIN関数を知ってからは、Tableau Desktopのグループ機能よりもIN関数を使ってグルーピングすることが断然多くなった。
それだけ便利だからだ。
値をグルーピングしたいなら
「Tableau Desktopのグループ作成機能でやっちゃえばいいじゃん」
と思う人も多いだろう。
確かにTableau Desktopのグルーピングは便利なのだが、応用が利かないというデメリットがある。
例えば、あまりに数が多いグルーピングをしようとするとめちゃくちゃめんどくさい。
グルーピング対象のフィールドの値の種類が追加されていく場合は、いちいちグルーピングする必要がある(今ある値の種類しかグルーピングできない)。
コピーして他のフィールドに応用するってことも出来ない。
一方でIN関数に関しては、数式をコピーして使えるし、大量の項目でもグルーピングがしやすい。
対象のフィールドの値の種類が追加されて行っても、IF関数と組み合わせて「その他」に分類することもできるし、予め増える可能性がある値の種類がわかっているなら、先に指定しておくこともできる。
上記理由から私はIN関数を使って値のグルーピングする場面が結構あるのだ。
まとめ
今回は論理関数の1つであるIN関数について紹介をした。
IF関数と組み合わせたグルーピングやフラグでの利用など結構便利な関数なので、是非IF関数やCASE関数などと同様に覚えていって欲しい。
Tableauの他の関数については下記一覧が参考になるはずだ。