Bird
Raised Fist0
Tableaubi_tool~10 mins

LOD with date dimensions in Tableau - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to calculate total sales fixed at the year level.

Tableau
{ FIXED YEAR([1]) : SUM([Sales]) }
Drag options to blanks, or click blank then click option'
ARegion
B[Customer ID]
C[Order Date]
DProduct
Attempts:
3 left
💡 Hint
Common Mistakes
Using a non-date field like Customer ID or Region inside YEAR() causes errors.
Not using a date field will not fix the aggregation by year.
2fill in blank
medium

Complete the code to calculate average sales fixed at the month level.

Tableau
{ FIXED DATETRUNC('month', [1]) : AVG([Sales]) }
Drag options to blanks, or click blank then click option'
A[Customer Name]
B[Ship Date]
CCategory
D[Order Date]
Attempts:
3 left
💡 Hint
Common Mistakes
Using non-date fields like Category or Customer Name inside DATETRUNC.
Using Ship Date instead of Order Date if the question specifies order timing.
3fill in blank
hard

Fix the error in the LOD expression to calculate total profit fixed at the quarter level.

Tableau
{ FIXED DATETRUNC('quarter', [1]) : SUM([Profit]) }
Drag options to blanks, or click blank then click option'
A[Order Date]
BCategory
C[Ship Date]
DRegion
Attempts:
3 left
💡 Hint
Common Mistakes
Using DATEPART('quarter', ...) inside FIXED causes incorrect partitioning across years.
Using non-date fields inside FIXED.
4fill in blank
hard

Fill both blanks to calculate total sales fixed at the year and region level.

Tableau
{ FIXED [1], [2] : SUM([Sales]) }
Drag options to blanks, or click blank then click option'
AYEAR([Order Date])
BRegion
CCategory
DCustomer ID
Attempts:
3 left
💡 Hint
Common Mistakes
Using non-date fields for the year dimension.
Using Category or Customer ID instead of Region.
5fill in blank
hard

Fill all three blanks to calculate average profit fixed at the month, category, and region level.

Tableau
{ FIXED [1], [2], [3] : AVG([Profit]) }
Drag options to blanks, or click blank then click option'
ADATETRUNC('month', [Order Date])
BCategory
CRegion
DCustomer Name
Attempts:
3 left
💡 Hint
Common Mistakes
Using Customer Name instead of Category or Region.
Not truncating the date to month level.

Practice

(1/5)
1. What does a FIXED LOD expression with DATETRUNC('month', [Order Date]) do in Tableau?
easy
A. Calculates a value fixed at the month level, ignoring view filters on date.
B. Calculates a value that changes with every day in the month.
C. Filters data to only show the first day of each month.
D. Aggregates data by year instead of month.

Solution

  1. Step 1: Understand FIXED LOD with DATETRUNC

    FIXED LOD fixes calculation at the specified date granularity, here month.
  2. Step 2: Effect on calculation

    It ignores filters on date and calculates once per month, not per day.
  3. Final Answer:

    Calculates a value fixed at the month level, ignoring view filters on date. -> Option A
  4. Quick Check:

    LOD with DATETRUNC('month') fixes by month [OK]
Hint: FIXED + DATETRUNC fixes calculation at chosen date level [OK]
Common Mistakes:
  • Thinking it filters data instead of fixing calculation
  • Confusing month with day granularity
  • Assuming it aggregates by year
2. Which of the following is the correct syntax for a FIXED LOD expression to calculate total sales by quarter in Tableau?
easy
A. {FIXED [DATETRUNC('quarter', [Order Date])] : SUM([Sales])}
B. {FIXED [Order Date], DATETRUNC('quarter') : SUM([Sales])}
C. {FIXED DATETRUNC('quarter', [Order Date]) : SUM(Sales)}
D. {FIXED DATETRUNC('quarter', [Order Date]) : SUM([Sales])}

Solution

  1. Step 1: Check FIXED LOD syntax

    Correct syntax is {FIXED [dimension] : aggregation} where dimension can be an expression like DATETRUNC.
  2. Step 2: Validate each option

    {FIXED DATETRUNC('quarter', [Order Date]) : SUM([Sales])} correctly uses {FIXED DATETRUNC('quarter', [Order Date]) : SUM([Sales])} with proper brackets and field names.
  3. Final Answer:

    {FIXED DATETRUNC('quarter', [Order Date]) : SUM([Sales])} -> Option D
  4. Quick Check:

    Correct FIXED LOD syntax uses brackets and field names [OK]
Hint: Use curly braces and brackets correctly in FIXED LOD [OK]
Common Mistakes:
  • Missing brackets around field names
  • Incorrect placement of DATETRUNC
  • Using aggregation inside DATETRUNC
3. Given the FIXED LOD expression {FIXED DATETRUNC('year', [Order Date]) : SUM([Sales])}, what will be the result if the view shows data by month for 2023 with monthly sales as [1000, 1500, 1200]?
medium
A. [1000, 1500, 1200]
B. [3700, 3700, 3700]
C. [1233, 1233, 1233]
D. [0, 0, 0]

Solution

  1. Step 1: Calculate yearly total sales

    Sum monthly sales: 1000 + 1500 + 1200 = 3700 for the year 2023.
  2. Step 2: Apply FIXED LOD at year level

    LOD fixes total sales at year level, so each month shows 3700 regardless of monthly values.
  3. Final Answer:

    [3700, 3700, 3700] -> Option B
  4. Quick Check:

    Year-level FIXED LOD repeats yearly total per month [OK]
Hint: LOD FIXED at year repeats yearly total for all months [OK]
Common Mistakes:
  • Assuming monthly sums instead of yearly total
  • Adding averages instead of sums
  • Confusing FIXED with INCLUDE or EXCLUDE
4. You wrote this LOD expression: {FIXED [DATETRUNC('month', [Order Date])] : SUM([Sales])} but Tableau shows an error. What is the likely problem?
medium
A. DATETRUNC cannot be used inside FIXED LOD expressions.
B. DATETRUNC should be wrapped in square brackets as a field.
C. Unnecessary square brackets around the DATETRUNC expression.
D. DATETRUNC expression must be inside parentheses, not brackets.

Solution

  1. Step 1: Check syntax for FIXED LOD with expressions

    When using an expression like DATETRUNC inside FIXED, it must NOT be enclosed in square brackets to be treated as a dimension (brackets are only for field names).
  2. Step 2: Identify the bracket issue

    The expression has unnecessary square brackets around DATETRUNC('month', [Order Date]), causing syntax error.
  3. Final Answer:

    Unnecessary square brackets around the DATETRUNC expression. -> Option C
  4. Quick Check:

    Expressions in FIXED must not be bracketed [OK]
Hint: Bracket expressions inside FIXED LOD properly [OK]
Common Mistakes:
  • Putting brackets around DATETRUNC inside FIXED
  • Confusing parentheses and brackets
  • Assuming DATETRUNC is a field, not a function
5. You want to compare monthly sales to the total sales of the year for each month in Tableau. Which LOD expression correctly calculates the yearly total sales fixed by year to use in this comparison?
hard
A. {FIXED DATETRUNC('year', [Order Date]) : SUM([Sales])}
B. {FIXED [YEAR([Order Date])] : SUM([Sales])}
C. {INCLUDE DATETRUNC('year', [Order Date]) : SUM([Sales])}
D. {EXCLUDE DATETRUNC('month', [Order Date]) : SUM([Sales])}

Solution

  1. Step 1: Identify correct date truncation for year

    DATETRUNC('year', [Order Date]) returns the first day of the year, suitable for fixing yearly level.
  2. Step 2: Use FIXED LOD for consistent yearly total

    FIXED LOD with DATETRUNC('year', [Order Date]) fixes sales at year level, ignoring view filters.
  3. Step 3: Compare monthly sales to yearly total

    This expression allows comparing each month's sales to the fixed yearly total.
  4. Final Answer:

    {FIXED DATETRUNC('year', [Order Date]) : SUM([Sales])} -> Option A
  5. Quick Check:

    FIXED + DATETRUNC('year') fixes yearly total for comparison [OK]
Hint: Use FIXED with DATETRUNC('year') for yearly totals [OK]
Common Mistakes:
  • Using YEAR() instead of DATETRUNC for FIXED
  • Using INCLUDE or EXCLUDE instead of FIXED
  • Excluding month instead of fixing year