May 25, 2026
The Big Beautiful Bar Chart: Build It in Tableau with Map Layers
December 13, 2022
#MakeoverMonday Week 50 - Which Countries Get the Most Vacation Days?
August 26, 2022
Workout Wednesday - New York City Tableau User Group Recap
Talk about pressure! I was given a 30 minute slot to see how many Workout Wednesday's I could complete. I was pretty confident I could finish 4, given I had already pre-selected the challenges I thought were easiest.
But...those pesky tooltips!
And the heckler in the audience (ahem Ann Jackson).
So how'd I do? I got the WOW2020 Week 32 100% complete, week 28 about 95% complete (the tooltips), and week 21 about 95% complete. It love trying to solve problems and build vizzes live.
If you missed it, here's the recording from the TUG. My part starts at 38:55. Farther down, you'll find each of the workouts in their completed state.
June 20, 2022
#WatchMeViz - Workout Wednesday 2022 Week 1
December 8, 2021
#WOW2021 Week 45: Customer Purchasing Habits (RFM Analysis)
July 7, 2021
#WOW2021 Week 26 - Profitability With a Dual Axis Chart
July 1, 2021
#WOW2021 Week 22 - Can You Structure the Unstructured?
June 23, 2021
Power BI - #WorkoutWednesday 2020 Week 53 - Executive Sales Dashboard
May 19, 2021
#WOW2021 Week 20: Can you compare Same Day to a Selected Date?
Wow! This workout will really test your knowledge of table calcs. The challenge comes from Lorna; view the requirements here.
The main purpose of this challenge is to get familiar with dates and parameters. Fortunately, every Wednesday I host what we call "Wise Up Wednesday" during lunch for my colleagues at The Information Lab and The Data School. We needed all of our brain power for this one. For us, the toughest part wasn't writing the calculations themselves. Rather, it was the logic required for the calculations.
From Lorna:
What if you want to compare a date you choose to the same DAY. For example, Tuesday 18th May 2021, would compare to Tuesday 19th May 2020 for the previous year, and Tuesday 20th April for the previous month. The reason you would want to do this is to compare the Tuesday to Tuesday.
This is where the logic gets tricky. We approached the solution by taking one version at a time, meaning we started by creating the calcs for the same day last year before we went onto the other two scenarios.
We got the in the end. I'd recommend building everything as a table, then change it into a chart later. It's much easier to follow what you calcs are doing.
Good luck! Here's our solution:
April 30, 2021
#WOW2021 Week 15 - Workout Wednesday Website Analytics
The requirements for week 15 are here. This is another super useful challenge as it helps you develop a dashboard you could easily use in your own organization.
My go-to blog post for working with and formatting time is this one from Jonathan Drummey. I'd say it's critical for solving this challenge. Also, think about the calcs for the reference lines and the BANs. As a hint, they're not just simple reference lines based on the measure on the rows. You WILL need to calculate the overall average separately.
Click on the image to interact with the dashboard and/or download the workbook here.
April 29, 2021
#WOW2021 Week 16 - How Do Sub-Category Sales Compare to the Sub-Category Average for Each Category?
- Create a Quick LOD of Sales by Sub-Category by dropping Sales on top of Sub-Category (hold Command on a Mac while dropping). Since I left the default aggregation of Sales as SUM, this results in this LOD:
{ FIXED [Sub-Category]: SUM([Sales]) } - Change the default aggregation of this new field to average. You have to do this so that at the Category level, you're getting the average of the sales across the sub-categories in each Category.
- Again, create the Quick LOD by holding Command (Control on a PC) and dropping the calc created in step 1 on top of the Category field. This is the resulting calculation:
{ FIXED [Category]: AVG([Sales (Sub-Category)]) }
March 26, 2021
#WOW2021 Week 5 - Predicting HBCU Future Enrollment
Workout Wednesday 2021 week 5 required you to become familiar with the statistical functions in Tableau as well as being able to create predictions based on those stats. I hadn't done either of these before, so I knew it would be a good learning opportunity.
| View the dashboard here |
Building the chart itself was simple. I chose to NOT truncate the axis as Candra did because it's not best practice to truncate the axis of an area chart as it skews the magnitude of change across time.
To create the Gaussian process regression, I found information on Tableau's website about the calculation and how to configure it. For Gaussian regression, the help says to use this formula:
MODEL_PERCENTILE(
"model=gp",
AVG([Days to Ship Actual]),
ATTR(DATETRUNC('month',([Order Date])))
)
However, when I did so, the chart and values were not the same as Candra's. So I used the MODEL_QUANTILE function instead. As always, the help within the calculation window was immensely useful.
Great, I now had the line chart. But I couldn't figure out how to get the prediction to extends another five years. A Google search for "predicting the future Tableau" sent me to this link.
Some formatting, a few calcs to get the tooltips and title correct, and a sheet to trigger the change of the measure with a parameter action and done! Check out my solution here.
![]() |
| View the dashboard here |
March 22, 2021
#WorkoutWednesday 2021 Week 11 - Gapminder: Income vs. Life Expectancy
What you should see, though, is that the headers are in the first row. To fix that, click on the drop down triangle next to the unioned data sources and choose Field names are in first row.
Now that the data is pivoted, in order to build the view, you need to create a calculated field for each measure: life expectancy, population, and income
March 19, 2021
#WorkoutWednesday 2021 - Week 2: Customer Lifetime Value (CLTV) Matrix
If you like a table calc challenge, this Workout Wednesday is for you. Get Ann's requirements here. On the surface it seems pretty simple:
- Get the first order date for each customer.
- Determine the number of quarters that elapsed since then.
- Calculate the cumulative value of each cohort.
November 19, 2020
Workout Wednesday 2020 Week 47 Solution Guide - Clustered Histogram
- You can't lump together the $2,000+ orders (bins are fixed sizes).
- You can't use bins in calculations, thus you can't lump them together this way either.
- For each Order ID, return the sum of sales.
- Divided each Order ID sales by 100 and round down to the nearest integer.
- Multiply that result by 100 to get it back up to bins of 100.
This will put the bars that are in the 0-100 bin at 25, 50, and 75. Then those in the 100-200 bin will be 125, 150, and 175. And so on.
On the Size shelf, change it to Manual sizing and drag it around until the bars are split up a bit. The tooltip requirement involved a couple more calculations, but none of them are complicated. You can get them from my viz, but only do that if you're REALLY stuck. Give it your best effort first.
October 13, 2020
#WorkoutWednesday 2020 Week 42: Can you build a Strava Workout Calendar?
Introduction
Requirements
- Dashboard size: 1680 x 1020
- Max 3 sheets
- Max 1 text box
- Joins are not permitted
- Data model is not permitted
- They MUST be separate data sources.
- No annotations
- No text boxes on the main chart
- No floating objects
- No Level of Detail expressions
- Remove highlighting from anything you can click
- Match formatting and tooltips
- The blue hex code is #0070A0.
- The blue bars on the upper right are the weekly number of hours spent exercising.
- The black bars in the main chart are the daily hours spent exercising.
- Any days when I did not exercise should have zero hours displayed.
- Allow scrolling through the years


















