「TableauでIFがつかいけどよくわからない」
「Thenってなに…?」
Tableau利用者の多くがExcelユーザーであるせいで、IF文は非常に使いづらいものになっています。
Excel関数のIFとTableauのIFは全然違います。
TableauのIFはExcelVBAに近いよね
今回は、Tableauの関数の1つIFとはなにかを解説するとともに、
その使い方を説明させていただきます!
IFの使い方
ざっくり言うと
IF <expr>
THEN <then>
[ELSEIF <expr2>
THEN <then2>…]
[ELSE <else>]
END
何が何だかわかりませんよね。
ちなみに↑のは公式に乗っていたものです。
言葉っぽく説明すると
IF:もし○○なら
THEN:条件通りなときは●●
ELSEIF:もし□□なら
THEN:条件通りのときは■■
ELSE:どの条件に合わないなら××
END:終わり
こんな感じです。
Excel関数だったら
=IF(論理式 , 真の場合の値 , 偽の場合の値)
全然違いますよね。
まずは基本形を抑える
まず1行目
IF <expr>
これはExcel関数でいうところの論理式です。
IFの後にはディメンションやメジャーが入ります。
通常は[]で囲まれた項目名が入り、その項目が条件となります。
2行目のTHENは結果です。
1行目の結果が正しい場合の動きが入ります。
その時と訳すとわかりやすいですね。
都道府県データで例えると
IF [都道府県] = "東京"
THEN "都"
END
これで、都道府県が東京であれば、この計算フィールドの行には〇が入ります。
“”で囲っているのは文字だからだよ
数字なら囲わなくていいよ!
正しくない場合の動きはELSE
IF [都道府県] = “東京”
これが東京であれば都が入るということは、東京以外ではなにが入るのでしょうか?
実は何も入りません。
NULLという無値になってしまいます。
この場合に便利なのが5行目のELSEです。
東京以外の場合の挙動を指定できます。
IF [都道府県] = "東京"
THEN "都"
ELSE"県"
END
これで東京以外の場合には県が入るようになります。
もっと選択肢を増やしたい時はELSEIF
IFとTHENとELSEだけでも十分使えるのですが、もっと条件を増やしたい場合には3行目のELSEIFを使います。
IF [都道府県] = "東京"
THEN "都"
ELSEIF [都道府県] = "北海"
THEN "道"
ELSE"県"
END
これで北海ときたら道が入ります。
複数条件を使いたい時はAND
○○かつ□□のときみたいに、条件を並べたい場合ありますよね。
そんなときはANDかORです。
ANDはかつ
ORはもしくです。
IF [都道府県] = "東京"
THEN "都"
ELSEIF [都道府県] = "北海"
THEN "道"
ELSEIF [都道府県] = "京都"
OR [都道府県] = "大阪"
THEN"府"
ELSE"県"
END
否定形のNOTも使える
IF NOT [都道府県] = "東京"
THEN "都"
END
条件が満たされないときという風にも書けます。
これも便利ですね。
IIFとIFの違い
IIFはExcel関数のIFに近いTableau関数です。
使い方は
IIF ( [人口] <= 10000, "少ない" , "多い" )
TrueかFalseの2択になります。
条件が正しければ前者の答えが、間違っていれば後者ってことです。
まとめ
IFの流れをまとめます。
- IFの後に条件を書きましょう
- 条件が正しい場合の結果をTHENの後に書きましょう
- 条件が正しくない場合の結果はELSEの後に書きます。
- もっと条件を増やしたいならELSEの前にELSEIF
- 最後は必ずENDを忘れない。
なれたらExcelより使いやすいです。
頑張りましょう!
コメント