Bird
Raised Fist0
Tableaubi_tool~8 mins

Logical functions (IF, IIF, CASE) in Tableau - Dashboard Guide

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Dashboard Mode - Logical functions (IF, IIF, CASE)
Dashboard Goal

Understand how to use logical functions IF, IIF, and CASE in Tableau to categorize sales performance and visualize results.

Sample Data
Order IDSalesRegion
1001150East
1002300West
100350East
1004400South
1005200West
1006100South
1007250East
Dashboard Components
  • KPI Card: Total Sales
    Formula: SUM([Sales])
    Result: 1450
  • Calculated Field: Sales Category (IF)
    Formula:
    IF [Sales] >= 300 THEN 'High'
    ELSEIF [Sales] >= 150 THEN 'Medium'
    ELSE 'Low' END

    This categorizes each order's sales into High, Medium, or Low.
  • Calculated Field: Sales Category (IIF)
    Formula:
    IIF([Sales] >= 300, 'High', IIF([Sales] >= 150, 'Medium', 'Low'))

    This is a nested IIF version of the same logic.
  • Calculated Field: Region Group (CASE)
    Formula:
    CASE [Region]
      WHEN 'East' THEN 'Group A'
      WHEN 'West' THEN 'Group B'
      ELSE 'Group C'
    END

    This groups regions into three groups.
  • Bar Chart: Sales by Sales Category
    Shows total sales for each category (High, Medium, Low).
  • Pie Chart: Sales Distribution by Region Group
    Shows percentage of total sales by region group (Group A, B, C).
Dashboard Layout
+----------------------+-----------------------+
| Total Sales (KPI)    | Sales by Sales Category|
|                      |       (Bar Chart)     |
+----------------------+-----------------------+
| Pie Chart: Sales by Region Group               |
|                                               |
+-----------------------------------------------+
Interactivity

A filter on Region allows users to select one or more regions. When applied, the Total Sales KPI, Sales by Sales Category bar chart, and Sales Distribution by Region Group pie chart update to show data only for the selected regions.

Self Check

If you add a filter for Region = East, which components update and what data do they show?

  • Total Sales KPI: Updates to sum sales only for East region orders (150 + 50 + 250 = 450).
  • Sales by Sales Category Bar Chart: Shows sales totals for High, Medium, Low categories only for East region orders.
  • Sales Distribution by Region Group Pie Chart: Updates to show only Group A (East) sales, so it will show 100% for Group A.
Key Result
Dashboard showing total sales and sales categories using IF, IIF, and CASE logical functions with region grouping and interactive filtering.

Practice

(1/5)
1. Which logical function in Tableau is best for checking a simple true or false condition?
easy
A. IF
B. CASE
C. IIF
D. SWITCH

Solution

  1. Step 1: Understand the purpose of IF

    The IF function evaluates a condition and returns one value if true and another if false, perfect for simple true/false checks.
  2. Step 2: Compare with other functions

    CASE is for multiple fixed values, IIF is a shorthand for IF but with null handling, and SWITCH is not a Tableau function.
  3. Final Answer:

    IF -> Option A
  4. Quick Check:

    Simple true/false check = IF [OK]
Hint: Use IF for simple true/false decisions [OK]
Common Mistakes:
  • Confusing CASE with IF for simple conditions
  • Using IIF without needing null handling
  • Thinking SWITCH is a Tableau function
2. Which of the following is the correct syntax for the IIF function in Tableau?
easy
A. IIF(condition ? true_result : false_result)
B. IIF(condition THEN true_result ELSE false_result END)
C. IIF(condition, true_result, false_result)
D. IIF(condition, true_result)

Solution

  1. Step 1: Recall IIF syntax

    IIF takes three arguments: a condition, the result if true, and the result if false, written as IIF(condition, true_result, false_result).
  2. Step 2: Check other options

    IIF(condition THEN true_result ELSE false_result END) uses IF syntax, C uses ternary operator syntax (not Tableau), and D misses the false_result argument.
  3. Final Answer:

    IIF(condition, true_result, false_result) -> Option C
  4. Quick Check:

    IIF syntax = IIF(condition, true, false) [OK]
Hint: IIF always needs three parts: condition, true, false [OK]
Common Mistakes:
  • Omitting the false_result argument
  • Using IF syntax inside IIF
  • Confusing with ternary operator syntax
3. What will be the result of this Tableau calculation?
CASE [Region]
  WHEN 'East' THEN 'Group A'
  WHEN 'West' THEN 'Group B'
  ELSE 'Other'
END

If [Region] is 'West'?
medium
A. 'Group A'
B. 'Group B'
C. 'Other'
D. Null

Solution

  1. Step 1: Understand CASE evaluation

    The CASE statement checks [Region] value. If it matches 'West', it returns 'Group B'.
  2. Step 2: Apply the input value

    Since [Region] is 'West', the second WHEN condition matches, so output is 'Group B'.
  3. Final Answer:

    'Group B' -> Option B
  4. Quick Check:

    CASE 'West' = 'Group B' [OK]
Hint: CASE returns first matching WHEN value [OK]
Common Mistakes:
  • Choosing ELSE value when a WHEN matches
  • Confusing CASE with IF syntax
  • Assuming Null if no match without ELSE
4. Identify the error in this Tableau formula:
IF [Sales] > 1000 THEN 'High' ELSEIF [Sales] > 500 THEN 'Medium' ELSE 'Low' END
medium
A. ELSEIF should be ELSE IF (two words)
B. Missing END keyword
C. Incorrect use of ELSE instead of ELSEIF
D. IF cannot compare numeric values

Solution

  1. Step 1: Check IF syntax in Tableau

    Tableau requires ELSE IF as two separate words, not ELSEIF as one word.
  2. Step 2: Verify other parts

    The formula has END keyword, ELSE is used correctly, and IF can compare numbers.
  3. Final Answer:

    ELSEIF should be ELSE IF (two words) -> Option A
  4. Quick Check:

    Use ELSE IF, not ELSEIF in Tableau [OK]
Hint: Use ELSE IF as two words in Tableau IF statements [OK]
Common Mistakes:
  • Writing ELSEIF as one word
  • Forgetting END keyword
  • Thinking IF can't compare numbers
5. You want to create a calculated field that labels sales as 'Low' if below 500, 'Medium' if between 500 and 1000, and 'High' if above 1000. Which Tableau formula correctly uses logical functions to do this?
hard
A. IF [Sales] <= 500 THEN 'Low' ELSEIF [Sales] < 1000 THEN 'Medium' ELSE 'High' END
B. CASE WHEN [Sales] < 500 THEN 'Low' WHEN [Sales] <= 1000 THEN 'Medium' ELSE 'High' END
C. IF [Sales] < 500 THEN 'Low' ELSEIF [Sales] <= 1000 THEN 'Medium' ELSE 'High' END
D. IIF([Sales] < 500, 'Low', IIF([Sales] <= 1000, 'Medium', 'High'))

Solution

  1. Step 1: Analyze the requirement

    We need three labels based on sales ranges: below 500, 500 to 1000, and above 1000.
  2. Step 2: Evaluate each option

    IF [Sales] < 500 THEN 'Low' ELSEIF [Sales] <= 1000 THEN 'Medium' ELSE 'High' END uses ELSEIF (incorrect syntax, should be ELSE IF). CASE WHEN [Sales] < 500 THEN 'Low' WHEN [Sales] <= 1000 THEN 'Medium' ELSE 'High' END uses CASE incorrectly because CASE in Tableau matches exact values, not ranges. IF [Sales] <= 500 THEN 'Low' ELSEIF [Sales] < 1000 THEN 'Medium' ELSE 'High' END has overlapping conditions and incorrect ELSE IF syntax. IIF([Sales] < 500, 'Low', IIF([Sales] <= 1000, 'Medium', 'High')) correctly nests IIF functions to handle ranges properly.
  3. Final Answer:

    IIF([Sales] < 500, 'Low', IIF([Sales] <= 1000, 'Medium', 'High')) -> Option D
  4. Quick Check:

    Nested IIF handles ranges correctly [OK]
Hint: Use nested IIF for multiple range conditions [OK]
Common Mistakes:
  • Using CASE for range conditions
  • Writing ELSEIF instead of ELSE IF
  • Overlapping or missing conditions