Bird
Raised Fist0
Tableaubi_tool~15 mins

Rolling period calculations in Tableau - Real Business Scenario

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
Scenario Mode
👤 Your Role: You are a sales analyst at a retail company.
📋 Request: Your manager wants to see the 3-month rolling sales totals to understand recent sales trends better.
📊 Data: You have monthly sales data for the past year, including the month and total sales amount.
🎯 Deliverable: Create a Tableau line chart showing monthly sales and a 3-month rolling total sales line to compare trends.
Progress0 / 5 steps
Sample Data
MonthSales
2023-011000
2023-021200
2023-031100
2023-041300
2023-051250
2023-061400
2023-071500
2023-081600
2023-091550
2023-101650
2023-111700
2023-121800
1
Step 1: Connect your sales data to Tableau and load the data source.
Import the data table with columns 'Month' and 'Sales'.
Expected Result
Data is available in Tableau with 12 rows representing each month.
2
Step 2: Create a calculated field for the 3-month rolling sales total.
WINDOW_SUM(SUM([Sales]), -2, 0)
Expected Result
A new field that sums sales for the current month and previous two months.
3
Step 3: Build a line chart with 'Month' on the Columns shelf and 'Sales' on the Rows shelf.
Drag 'Month' to Columns, drag 'Sales' to Rows.
Expected Result
A line chart showing monthly sales values.
4
Step 4: Add the 3-month rolling sales calculated field to the Rows shelf to overlay on the chart.
Drag the calculated field '3-month Rolling Sales' to Rows next to 'Sales'.
Expected Result
The chart shows two lines: monthly sales and 3-month rolling sales totals.
5
Step 5: Format the chart for clarity: add labels, legend, and title.
Add chart title 'Monthly Sales and 3-Month Rolling Total', enable data labels, and add legend.
Expected Result
Clear, easy-to-read chart comparing monthly sales and rolling totals.
Final Result
Month: 2023-01 to 2023-12

Sales  |      *       *       *       *       *       *       *       *       *       *       *       *
       |     * *     * *     * *     * *     * *     * *     * *     * *     * *     * *     * *     * *
       |    *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
       +---------------------------------------------------------------------------------------------->
        2023-01 2023-03 2023-06 2023-09 2023-12

Legend:
* Single star line = Monthly Sales
* Double star line = 3-Month Rolling Sales Total
The 3-month rolling total smooths out monthly fluctuations and shows clearer sales trends.
Sales generally increased over the year with some seasonal dips visible in monthly sales.
Rolling totals help identify sustained growth periods better than single month values.
Bonus Challenge

Create a 6-month rolling average sales calculation and add it as a third line on the chart.

Show Hint
Use WINDOW_AVG(SUM([Sales]), -5, 0) as the calculated field for the 6-month rolling average.

Practice

(1/5)
1. What is the main purpose of a rolling period calculation in Tableau?
easy
A. To filter data based on a fixed date range
B. To calculate values over a moving window of past data points
C. To create a static total of all data points
D. To sort data alphabetically

Solution

  1. Step 1: Understand rolling period concept

    Rolling period calculations summarize data over a moving window, like last 3 months.
  2. Step 2: Identify purpose in Tableau

    Tableau uses rolling calculations to track recent trends dynamically, not fixed totals or sorting.
  3. Final Answer:

    To calculate values over a moving window of past data points -> Option B
  4. Quick Check:

    Rolling calculation = moving window summary [OK]
Hint: Rolling means moving window over recent data points [OK]
Common Mistakes:
  • Confusing rolling with fixed totals
  • Thinking rolling sorts data
  • Assuming rolling filters data
2. Which Tableau function is used to calculate a rolling sum over a window of data?
easy
A. RUNNING_SUM()
B. SUM()
C. WINDOW_SUM()
D. TOTAL()

Solution

  1. Step 1: Identify rolling sum function

    WINDOW_SUM() calculates sum over a specified window, perfect for rolling sums.
  2. Step 2: Differentiate from similar functions

    SUM() totals all data, TOTAL() sums entire partition, RUNNING_SUM() accumulates from start to current row, not a fixed window.
  3. Final Answer:

    WINDOW_SUM() -> Option C
  4. Quick Check:

    Rolling sum = WINDOW_SUM() [OK]
Hint: Use WINDOW_SUM() for sums over moving windows [OK]
Common Mistakes:
  • Using SUM() which sums all data
  • Confusing RUNNING_SUM() with rolling window
  • Using TOTAL() which sums entire partition
3. Given the Tableau calculation WINDOW_AVG(SUM([Sales]), -2, 0), what does it compute?
medium
A. Average of sales for the current and previous two rows
B. Average of sales for the next two rows only
C. Sum of sales for all rows
D. Average of sales for the current row only

Solution

  1. Step 1: Analyze WINDOW_AVG parameters

    WINDOW_AVG computes average over a window; -2 to 0 means from two rows before to current row.
  2. Step 2: Understand SUM inside WINDOW_AVG

    SUM([Sales]) aggregates sales per row, then WINDOW_AVG averages over the window of 3 rows.
  3. Final Answer:

    Average of sales for the current and previous two rows -> Option A
  4. Quick Check:

    Window from -2 to 0 = current + 2 previous rows [OK]
Hint: Negative start index means look back rows [OK]
Common Mistakes:
  • Thinking window looks forward only
  • Confusing sum and average
  • Ignoring window range parameters
4. You wrote this Tableau calculation for a 3-month rolling sum: WINDOW_SUM(SUM([Profit]), 0, 2). The results seem incorrect. What is the likely issue?
medium
A. SUM() cannot be used inside WINDOW_SUM()
B. The calculation needs to use RUNNING_SUM() instead
C. WINDOW_SUM() requires negative indices only
D. The window range is forward-looking, not backward-looking

Solution

  1. Step 1: Check window range meaning

    Range 0 to 2 means current row and next two rows, which looks forward, not backward.
  2. Step 2: Understand rolling sum intent

    Rolling sums usually look backward (previous periods), so range should be negative to zero, e.g., -2 to 0.
  3. Final Answer:

    The window range is forward-looking, not backward-looking -> Option D
  4. Quick Check:

    Rolling sum needs backward window range [OK]
Hint: Rolling sums usually use negative start index [OK]
Common Mistakes:
  • Using forward window range for rolling sums
  • Thinking SUM() is invalid inside WINDOW_SUM()
  • Confusing RUNNING_SUM() with rolling sum
5. You want to create a 6-month rolling average of sales in Tableau, but your data has missing months. Which approach ensures accurate rolling calculations?
hard
A. Use a continuous date axis and fill missing months with zero sales before applying WINDOW_AVG
B. Apply WINDOW_AVG directly on raw data without adjustments
C. Use RUNNING_SUM instead of WINDOW_AVG to ignore missing months
D. Filter out months with missing sales before calculation

Solution

  1. Step 1: Understand impact of missing months

    Missing months cause gaps, so rolling averages skip those periods, giving inaccurate results.
  2. Step 2: Fill missing months with zero sales

    Using a continuous date axis and filling missing months with zero ensures the rolling window covers all months evenly.
  3. Step 3: Apply WINDOW_AVG on adjusted data

    Now WINDOW_AVG calculates correctly over 6 months including zeros for missing months.
  4. Final Answer:

    Use a continuous date axis and fill missing months with zero sales before applying WINDOW_AVG -> Option A
  5. Quick Check:

    Fill gaps first for accurate rolling average [OK]
Hint: Fill missing dates with zeros before rolling average [OK]
Common Mistakes:
  • Ignoring missing months causing wrong averages
  • Using RUNNING_SUM which accumulates, not averages
  • Filtering out missing months, shrinking window size