Bird
Raised Fist0
Tableaubi_tool~10 mins

Year-over-year comparison in Tableau - Cell-by-Cell Formula Trace

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
Sample Data

Sales data for two years, 2022 and 2023

CellValue
A1Year
B1Sales
A22022
B21000
A32023
B31200
Formula Trace
SUM([Sales]) - LOOKUP(SUM([Sales]), -1)
Step 1: SUM([Sales]) for current year (2023)
Step 2: LOOKUP(SUM([Sales]), -1) for previous year (2022)
Step 3: 1200 - 1000
Cell Reference Map
   A      B
1 Year   Sales
2 2022   1000
3 2023   1200

Formula references Sales in B2 and B3 for calculation.
The formula uses sales values from years 2022 and 2023 to calculate the year-over-year difference.
Result
   A      B       C
1 Year   Sales   YoY Change
2 2022   1000    
3 2023   1200    200
The YoY Change column shows the difference in sales between 2023 and 2022, which is 200.
Sheet Trace Quiz - 3 Questions
Test your understanding
What does the LOOKUP function with offset -1 do in this formula?
AGets the sales value from the previous year
BGets the sales value from the next year
CCalculates the total sales for all years
DReturns zero
Key Result
SUM([Measure]) - LOOKUP(SUM([Measure]), -1) calculates year-over-year difference

Practice

(1/5)
1. What is the main purpose of a year-over-year comparison in Tableau?
easy
A. To compare values from one year to the previous year
B. To calculate the total sales for a single year
C. To display data only for the current year
D. To filter data by month

Solution

  1. Step 1: Understand year-over-year comparison

    Year-over-year comparison is used to see how a value changes from one year to the next.
  2. Step 2: Identify the correct purpose

    Comparing values from one year to the previous year matches the definition of year-over-year comparison.
  3. Final Answer:

    To compare values from one year to the previous year -> Option A
  4. Quick Check:

    Year-over-year = compare year to previous year [OK]
Hint: Year-over-year means comparing this year to last year [OK]
Common Mistakes:
  • Confusing year-over-year with total yearly sales
  • Thinking it filters data instead of comparing years
  • Assuming it only shows current year data
2. Which Tableau function is commonly used to get the previous year's value for year-over-year calculations?
easy
A. SUM()
B. WINDOW_SUM()
C. DATEPART()
D. LOOKUP()

Solution

  1. Step 1: Identify function for previous value

    LOOKUP() function in Tableau returns a value from a previous or next row, useful for previous year values.
  2. Step 2: Confirm correct function

    WINDOW_SUM() sums over a window, DATEPART() extracts date parts, SUM() totals values, but only LOOKUP() fetches previous year value directly.
  3. Final Answer:

    LOOKUP() -> Option D
  4. Quick Check:

    Previous year value = LOOKUP() [OK]
Hint: LOOKUP() fetches previous row values, perfect for last year [OK]
Common Mistakes:
  • Using SUM() instead of LOOKUP() for previous year
  • Confusing DATEPART() with fetching previous values
  • Using WINDOW_SUM() which sums but doesn't get previous year
3. Given this Tableau calculation for year-over-year growth:
SUM([Sales]) - LOOKUP(SUM([Sales]), -1)
What does this calculation return?
medium
A. The percentage growth of sales year-over-year
B. The difference in sales between the current year and the previous year
C. The sales for the previous year only
D. The total sales for the current year

Solution

  1. Step 1: Analyze the calculation components

    SUM([Sales]) gives current year sales; LOOKUP(SUM([Sales]), -1) fetches previous year sales.
  2. Step 2: Understand the subtraction

    Subtracting previous year sales from current year sales gives the difference in sales year-over-year.
  3. Final Answer:

    The difference in sales between the current year and the previous year -> Option B
  4. Quick Check:

    Current year sales - previous year sales = difference [OK]
Hint: Subtract LOOKUP() from current sum for difference [OK]
Common Mistakes:
  • Thinking it calculates percentage growth
  • Assuming it returns only previous year sales
  • Confusing it with total sales calculation
4. You created a year-over-year calculation using LOOKUP but the results are incorrect. What is the most likely cause?
medium
A. The calculation uses SUM instead of AVG
B. The data source is missing the Sales field
C. The table calculation direction is not set to compute using Year
D. The filter is applied after the calculation

Solution

  1. Step 1: Identify common error in LOOKUP calculations

    LOOKUP depends on table calculation direction; if not set to Year, it fetches wrong rows.
  2. Step 2: Confirm why direction matters

    Setting compute using Year ensures LOOKUP moves along years, giving correct previous year values.
  3. Final Answer:

    The table calculation direction is not set to compute using Year -> Option C
  4. Quick Check:

    Wrong direction = wrong previous year value [OK]
Hint: Always set table calc direction to Year for LOOKUP [OK]
Common Mistakes:
  • Ignoring table calculation direction
  • Changing aggregation from SUM to AVG unnecessarily
  • Assuming missing fields cause LOOKUP errors
5. You want to create a dashboard showing year-over-year sales growth percentage. Which calculation correctly computes this in Tableau?
 (SUM([Sales]) - LOOKUP(SUM([Sales]), -1)) / LOOKUP(SUM([Sales]), -1) * 100 
hard
A. This calculation will cause a division by zero error if previous year sales are zero
B. This calculation should use WINDOW_SUM instead of SUM
C. This calculation correctly computes the year-over-year growth percentage
D. This calculation needs to add 1 before multiplying by 100

Solution

  1. Step 1: Understand the calculation formula

    The formula calculates difference divided by previous year sales, then multiplies by 100 for percentage.
  2. Step 2: Identify potential issue

    If previous year sales are zero, division by zero occurs causing error or infinite result.
  3. Step 3: Evaluate other options

    WINDOW_SUM is not needed here; adding 1 is incorrect for percentage growth calculation.
  4. Final Answer:

    This calculation will cause a division by zero error if previous year sales are zero -> Option A
  5. Quick Check:

    Division by zero risk if previous year sales = 0 [OK]
Hint: Check for zero in denominator to avoid errors [OK]
Common Mistakes:
  • Ignoring division by zero possibility
  • Replacing SUM with WINDOW_SUM unnecessarily
  • Adding 1 incorrectly in percentage formula