Bird
Raised Fist0
Tableaubi_tool~8 mins

Moving average 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 - Moving average
Dashboard Goal

Understand sales trends over time by showing monthly sales and their 3-month moving average.

Sample Data
MonthSales
2024-01100
2024-02150
2024-03130
2024-04170
2024-05160
2024-06180
2024-07200
Dashboard Components
  • Line Chart: Shows monthly sales and 3-month moving average.
    Tableau Calculation for 3-month moving average:
    WINDOW_AVG(SUM([Sales]), -2, 0)

    This calculates the average sales for the current month and previous two months.
  • KPI Card: Displays latest month sales (July 2024) = 200.
  • Data Table: Shows Month, Sales, and Moving Average values.
    Moving Average values for sample data:
    • 2024-01: 100 (only one month available)
    • 2024-02: (100+150)/2 = 125
    • 2024-03: (100+150+130)/3 = 126.67
    • 2024-04: (150+130+170)/3 = 150
    • 2024-05: (130+170+160)/3 = 153.33
    • 2024-06: (170+160+180)/3 = 170
    • 2024-07: (160+180+200)/3 = 180
Dashboard Layout
+----------------------+----------------------+
|      KPI Card        |                      |
|  Latest Month Sales  |                      |
+----------------------+----------------------+
|                      Line Chart (Sales & MA) |
|                                              |
|                                              |
+----------------------------------------------+
|               Data Table                      |
+----------------------------------------------+
    
Interactivity

User can filter by date range using a date slider. When the date range changes, the line chart, KPI card, and data table update to show only the selected months.

This helps focus on specific periods and see how the moving average adapts.

Self Check

If you add a filter to show only months from 2024-03 to 2024-06, which components update?

  • The line chart updates to show sales and moving average only for March to June.
  • The KPI card updates to show sales for June 2024 (180).
  • The data table updates to list only rows for March, April, May, and June with recalculated moving averages based on filtered data.
Key Result
Monthly sales and 3-month moving average trend with latest month sales KPI and detailed data table.

Practice

(1/5)
1. What is the main purpose of using a moving average in Tableau visualizations?
easy
A. To smooth out short-term fluctuations and highlight longer-term trends
B. To count the total number of data points in a dataset
C. To filter out all data except the latest value
D. To create a pie chart from time series data

Solution

  1. Step 1: Understand moving average concept

    A moving average calculates the average of data points over a specific number of periods to reduce noise.
  2. Step 2: Identify its purpose in visualization

    This smoothing helps reveal underlying trends by minimizing short-term ups and downs.
  3. Final Answer:

    To smooth out short-term fluctuations and highlight longer-term trends -> Option A
  4. Quick Check:

    Moving average = smoothing trends [OK]
Hint: Moving average smooths data to show trends clearly [OK]
Common Mistakes:
  • Confusing moving average with total sum
  • Thinking it filters data instead of smoothing
  • Assuming it creates categorical charts
2. Which of the following is the correct Tableau calculation syntax to compute a 3-period moving average of SUM(Sales)?
easy
A. WINDOW_AVG(SUM([Sales]), 0, 2)
B. WINDOW_AVG(SUM([Sales]), -1, 1)
C. WINDOW_AVG(SUM([Sales]), -2, 0)
D. WINDOW_AVG(SUM([Sales]), -1, 2)

Solution

  1. Step 1: Understand WINDOW_AVG parameters

    WINDOW_AVG(expression, start, end) averages values from start to end relative to current row.
  2. Step 2: Define 3-period window around current row

    For 3 periods centered on current row, use -1 (previous), 0 (current), and 1 (next), so range is -1 to 1.
  3. Final Answer:

    WINDOW_AVG(SUM([Sales]), -1, 1) -> Option B
  4. Quick Check:

    3-period window = -1 to 1 [OK]
Hint: Use negative and positive offsets to set window range [OK]
Common Mistakes:
  • Using incorrect window range that doesn't cover 3 periods
  • Confusing start and end parameters
  • Omitting SUM aggregation inside WINDOW_AVG
3. Given the following data points for Sales over 5 days: [100, 120, 140, 160, 180], what is the 3-day moving average value for day 3 using WINDOW_AVG(SUM([Sales]), -1, 1)?
medium
A. 120
B. 160
C. 130
D. 140

Solution

  1. Step 1: Identify the 3-day window for day 3

    Day 3 includes day 2 (120), day 3 (140), and day 4 (160) because window is from -1 to +1 relative to day 3.
  2. Step 2: Calculate average of these values

    (120 + 140 + 160) / 3 = 420 / 3 = 140
  3. Final Answer:

    140 -> Option D
  4. Quick Check:

    Average of 120,140,160 = 140 [OK]
Hint: Average values one before, current, and one after [OK]
Common Mistakes:
  • Including wrong days in the window
  • Calculating sum instead of average
  • Using only previous days without current or next
4. You wrote this Tableau calculation for a 5-day moving average: WINDOW_AVG(SUM([Sales]), -2, 2). However, the moving average is not showing correctly on the first two days. What is the likely issue?
medium
A. The window range includes days outside the data, causing NULLs to affect the average
B. SUM aggregation is missing inside WINDOW_AVG
C. WINDOW_AVG requires only positive offsets for the window
D. The calculation should use WINDOW_SUM instead of WINDOW_AVG

Solution

  1. Step 1: Analyze window range impact on edge rows

    Window from -2 to 2 means for first two days, some offsets point to non-existent previous days (before data starts).
  2. Step 2: Understand effect of NULLs in window

    These NULLs can cause the average to be incorrect or missing because Tableau includes them in calculation.
  3. Final Answer:

    The window range includes days outside the data, causing NULLs to affect the average -> Option A
  4. Quick Check:

    Edge rows have incomplete windows causing NULL impact [OK]
Hint: Check window range near data edges for NULLs [OK]
Common Mistakes:
  • Assuming WINDOW_AVG ignores NULLs automatically
  • Confusing aggregation functions inside WINDOW_AVG
  • Thinking window offsets must be positive only
5. You want to create a 7-day moving average of daily sales but only for weekdays (Monday to Friday). Which approach correctly handles this in Tableau?
hard
A. Use WINDOW_AVG(SUM([Sales]), -3, 3) and filter out weekends before calculation
B. Use WINDOW_AVG(SUM([Sales]), -6, 0) ignoring weekends in data
C. Create a calculated field that excludes weekends, then use WINDOW_AVG over consecutive weekdays
D. Apply WINDOW_AVG on all days and manually remove weekend values from the result

Solution

  1. Step 1: Understand weekday filtering impact

    Simply filtering weekends after calculation or ignoring them breaks the consecutive window needed for moving average.
  2. Step 2: Use calculated field to exclude weekends before averaging

    By creating a field that removes weekends, the WINDOW_AVG function works on consecutive weekdays only, producing accurate 7-day averages.
  3. Final Answer:

    Create a calculated field that excludes weekends, then use WINDOW_AVG over consecutive weekdays -> Option C
  4. Quick Check:

    Exclude weekends before WINDOW_AVG for correct weekday moving average [OK]
Hint: Filter weekends before applying moving average [OK]
Common Mistakes:
  • Applying WINDOW_AVG including weekends causing wrong averages
  • Using wrong window size ignoring missing days
  • Filtering weekends after calculation instead of before