今回はIIF(アイイフorアイアイエフ)関数について紹介していきたいと思う。
Contents
IIF関数とは?
IIF関数とは条件によって異なる結果を返してくれる関数だ。
IF関数やCASE関数と同じ論理関数の1つで実務でも比較的使うことが多い。
例えば、サンプルスーパーストアにおいて「「カテゴリ」フィールドの値が「家具」の場合のみ売上を表示させたい!」という時などにIIFを活用する。
このようにIIF関数を使用して、家具のみの売上を表示させるフィールドを作っておくことで、下記のような全体売上の推移と家具の売上推移を比較する表現が可能になる。
これをBar in Barチャートというのだが、上記のような表現をすることにより全体売上が上がっている一方で家具売上は伸び悩んでいることがぱっと見で把握することができる。
IIF関数はこんな感じでブレットチャートやBar in Barチャートを作るために必要なフィールドを作成する時などに使用することが実務上は多い気がする。
IF関数との違い
私がまさにそうだったのだが(笑)
「IF関数と何が違うの?」
と思う人も多いはずだ。
違いはシンプルで下記の比較表通りだ。
IIF関数はシンプルな記述で条件分岐した結果を返してくれる便利な面がある一方で、2分岐までしか条件分岐できない。
一方でIF関数はTHENやENDなどの記述が必要になるが、条件分岐の数に制限なく使うことができる。
先ほどの例のようにシンプルな条件分岐の場合はIIF関数、複雑になりそうだったらIF関数かCASE関数を使用することを検討してみるといいと思う。
IF関数の使い方について詳しく知りたい人は下記記事を参考にしてもらえると嬉しい。
【Tableau】IF文の使い方を具体例を含めてわかりやすく解説!
IIF関数の使用方法
IIF関数の使用方法は下記の通りだ。
IIF関数は下記をカッコ内に記述するだけで完了する。
- 条件式
- その条件式がTRUEの場合(例えば、[売上]>0 という条件式で売上が10000円の時など)に行う処理
- その条件式がFALSE(例えば、[売上]>0の条件式で売上が-500円の時など)の場合に行う処理
例えば、先ほどの例の場合は実際下記のような記述になる。
IIF関数の活用シーン
IIF関数は例えば、下記のようなフィールドを作成したい時に便利だ。
- 「上期」「下期」を区分けするフィールドを作成
- 20××年の売上を作成
1.「上期」「下期」を区分けするフィールドを作成する
日付型のフィールドは年→四半期→月→日 までドリルダウンしていけば自然と区分けができるが、今期の前半と後半を「半期」という形で表示させることはデフォルトではできない。
こういう時に下記のようにIIF関数を使用して半期を作るという場合は実務上でかなり多い。
下記の場合は1月~6月を上期、7月~12月を下期としている。
ちなみに上図で使用しているMONTH関数は日付関数で対象の日付型フィールドの「月」を取得してくれる関数だ。
2. 20××年の売上を作成
特定の年の売上だけを表示するフィールドを作成する時にもIIF関数は活躍する。
こちらは【Tableau】「20××年売上」というフィールドを作成する方法をわかりやすく解説! で詳しく説明しているが、下記のように2020年の売上だけを表示させるフィールドを作ることができる
「2021年の売上と2020年の売上を比較するブレットチャートを作りたい」という時などには「2021年売上」フィールドと「2020年売上」フィールドの2つのフィールドが必要になる。
そういう時に非常に便利である。
まとめ
上記のようにIIF関数は実務上色々な場面で活躍してくれる便利な関数だ。
IF関数やCASE関数と合わせてぜひ習得してみてほしい。
Tableauの関数にはどういうものがあるのかを知りたい方は下記の関数一覧のページを参考にしてみてほしい。