
【Tableau】第4回:【条件分岐】実務の複雑なルールを再現する「論理関数」10選
🔍 はじめに
おはようございます。
昨日は体育祭で疲れて寝てしまったので(見ていただけなのですが)、今朝から執筆しています。
では早速、第4回スタート!
今回は、Tableauでよく使う「論理関数」です。
「この商品だけ別カテゴリーにしたい」
「AかBに該当するデータだけを対象にしたい」
「2つの条件を満たした場合だけ『対象』にしたい」
そんな条件によるデータの分類・判定に使う関数です。
1. IF
条件に応じて処理を分ける
まず覚えたいのが IF です。
「もし○○なら、△△する」
という条件分岐を作ることができます。
例えば、売上が100万円以上なら「好調」、それ以外なら「通常」としたい場合、
IF [売上] >= 1000000 THEN
"好調"
ELSE
"通常"
ENDとなります。
IF は、条件分岐の基本中の基本です。
まずは、
IF = 「もし○○なら」
と覚えておけばOKです。
2. ELSE
条件に当てはまらない場合を指定する
ELSE は、IF とセットで使うことが多いものです。
例えば、
IF [売上] >= 1000000 THEN
"好調"
ELSE
"通常"
ENDこの ELSE は、
「最初の条件に当てはまらなかったら、こちら」
という意味です。
なお、ELSE を指定しない場合、どの条件にも当てはまらなければ NULL になります。
3. ELSEIF
条件を3つ、4つと増やす
条件が2つだけなら IF と ELSE で十分ですが、
「100万円以上ならA」
「50万円以上ならB」
「それ未満ならC」
のように、条件が複数ある場合、
IF [売上] >= 1000000 THEN
"A"
ELSEIF [売上] >= 500000 THEN
"B"
ELSE
"C"
ENDとすると、
上から順番に条件を確認していき、
最初に条件を満たしたところの結果が返されます。
4. CASE
1つの項目の値によって分類する
CASE は、ある項目の値によって分類するときに便利です。
例えば、商品カテゴリーによって分類したい場合。
CASE [商品カテゴリー]
WHEN "食品" THEN
"食料品"
WHEN "飲料" THEN
"食料品"
WHEN "家電" THEN
"電化製品"
ELSE
"その他"
ENDこのように、
「この値なら、この結果」
という分類を分かりやすく書くことができます。
5. WHEN
CASEの中で「この値なら」を指定する
WHEN は、CASE とセットで使います。
例えば、
CASE [ステータス]
WHEN "未処理" THEN
"未完了"
WHEN "処理中" THEN
"対応中"
WHEN "完了" THEN
"完了"
ELSE
"その他"
ENDこの場合、
WHEN "未処理"は、
「[ステータス] が『未処理』なら」
という意味です。
つまり、
CASE
WHEN → この値なら
THEN → この結果
ENDと考えると分かりやすいです。
6. AND
複数の条件を「すべて満たす」
ここからは、条件を組み合わせる方法です。
AND は、
「AもBも両方満たしている」
という条件を作ります。
例えば、
「売上が100万円以上、かつ利益率が20%以上」
という条件なら、
IF [売上] >= 1000000
AND [利益率] >= 0.2
THEN
"優良"
ELSE
"対象外"
ENDとなります。
7. OR
複数の条件の「どれかを満たす」
OR は AND とは反対に、
「AまたはBのどちらかを満たす」
という条件を作ります。
例えば、
「商品カテゴリーが食品または飲料」
という条件なら、
IF [商品カテゴリー] = "食品"
OR [商品カテゴリー] = "飲料"
THEN
"対象"
ELSE
"対象外"
ENDとなります。
AND と OR はセットで覚えると分かりやすいです。
8. NOT
条件を「反対」にする
NOT は、条件を反転させるときに使います。
例えば、
IF NOT [ステータス] = "完了" THEN
"未完了"
ELSE
"完了"
ENDとすると、
「ステータスが完了ではない場合」
を判定できます。
9. IN
複数の値のどれかに一致するかを判定する
例えば、
「商品カテゴリーが食品、飲料、日用品のいずれか」
という条件を作りたいとします。
OR を使うと、
IF [商品カテゴリー] = "食品"
OR [商品カテゴリー] = "飲料"
OR [商品カテゴリー] = "日用品"
THEN
"対象"
ENDとなります。
しかし、対象が増えると少し長くなります。
そんなときに便利なのが IN です。
IF [商品カテゴリー] IN ("食品", "飲料", "日用品")
THEN
"対象"
ELSE
"対象外"
ENDこれなら、
「この中のどれかに一致する?」
という条件をシンプルに書けます。
10. IIF
条件によって「AかBか」の2択にする
最後は IIF です。
IIF は、条件によって結果を2つに分けたいときに使えます。
例えば、
IIF([売上] >= 1000000, "好調", "通常")とすると、
条件を満たす → 「好調」
条件を満たさない → 「通常」
となります。
IF で書くと、
IF [売上] >= 1000000 THEN
"好調"
ELSE
"通常"
ENDですが、IIF を使うと、
IIF(条件, 条件を満たす場合, 満たさない場合)と、単純な2択なら、短く書くことができます。
🎯 まとめ
今回は、Tableauでよく使う「論理関数・条件分岐」を10個紹介しました。
特に覚えておきたいのは、
IF → 条件によって処理を分ける
CASE → 値によって分類する
AND → 両方の条件を満たす
OR → どちらかの条件を満たす
IN → 複数の候補から判定する
このあたりです。
ぜひ実際のデータで、簡単な条件分岐から試してみてください。
🗺️ 次回の予告
次回は、Tableau初心者が一度はつまずく、
「集計と非集計は混在できません」
というエラーについて取り上げます。
SUM や AVG などの集計と、データ1行ごとの非集計の値には、どんな違いがあるのでしょうか?
第5回では、集計と非集計の基本から、SUM、AVG、COUNTD の使い方まで、初心者がつまずきやすいポイントを整理します。
「なぜこの計算はエラーになるの?」
を自分で判断できるようになることを目指します。
それでは、次回も一緒にTableauを学んでいきましょう!