メインコンテンツへスキップ
見出し画像
Photo bysalmonmayo

【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を学んでいきましょう!

     
     
    会社でDX推進、趣味でiOSアプリ開発をしています。 IT、データ分析、アプリ開発など、知らないことを調べて、試して、失敗して。 そんな日々の学びを記録しています。 VBA Swift Python Tableau RFID

    あなたへのおすすめ