Last week, Samuel Parsons published an incredible Tableau dashboard and YouTube video on creating visual tables in Tableau. Sam’s “Super Advanced Tableau Tables” tutorial is, simply put, amazing. Sam shows you how to create 14(!) different visual elements in Tableau, such as bullet charts, KPI arrows, rank indicators, and sparklines (there is also a follow-up video in which he goes into more explanation on how to build the sparklines).
I worked my way through the entire video and Tableau dashboard, taking notes along the way. I’m still learning Tableau, so this was an incredible resource to help me learn these different techniques. Sam was also kind enough to answer a few questions I had along the way (the big lesson: Don’t forget about Table Calculations!).
Here, I’ve provided a shorthand list of the steps to create each visualization with timestamps to Sam’s original video so you can go watch him go through each one. I’ll admit I don’t fully understand all of the calculated fields and table calculations, but I learned a TON from Sam’s work and am grateful he shared it with the community. I hope these instructions will be helpful to you as well.
Set Table size
Analysis > Table Layout > Advanced > Aspect > 1.5
- This will affect all columns not being controlled by a Date measure
- Control Row Height: Format > Cell Size
Set up the Rows shelf (this will avoid trouble later)
- Add State/Province > Rows.
- Sort > Field > Descending > Current Sales > Custom
- Add ‘Sales or Profit or Position’ > Rows shelf (22:30) and (50:25)
- Multiple sorting fields on this pill coming later
- Note: to remove all legends: Analysis > Legends > …
State names (14:05)
- Text Header – Axis > Columns
- Mark > Shape > (custom) Transparent Shape
- This eliminates any clicking/hovering (see Kevin Flerlage blog post)
- State/Province > Label
- Align labels > Middle Left
Pointers/Section Header (16:33)
- No hovers here
- Section Header – Axis > Columns
- Dual axis here:
- First one is a shaded square that shows up as the color of the cell
- Marks card > Square
- Section Header – Axis > Columns Shelf
- Section Header – Text > Label > Middle Center
- Second one is a transparent shape that layers on top so there is no hovering effect
- Section Header – Axis > Columns Shelf
- Section Header – Text > Label
- Shape > (custom) Transparent Shape
- First one is a shaded square that shows up as the color of the cell
- (Adjust size of shapes later)
Ranks (19:14)
- Rank – Axis > Columns
- Rank – Text > Label
- Table Calculation: Specific Dimensions > State/Province
- Mark > Circle
Bar charts (20:14)
- Bar Chart Axis > Columns
- Mark > Bar
- Current Sales – Size
- Fixed > Left
- (Height of bars go to 0.5)
- Current Sales > Label (Top Left)
- Table Calculation on ‘Sales or Profit or Position’ > Specific Dimensions > Section Header – Text
- This is why we added the ‘Sales or Profit or Position’ pill at the start
Bullet chart (25:20)
- This is a dual axis (and synchronize) chart
- Bullet Chart – Bar Axis > Columns
- Mark > Bar
- Current Sales > Size
- Fixed > Left
- Current Sales > Label (Top left)
- Bullet Chart – Icon Axis
- Dual axis chart
- Mark > Shape (solid downward triangle)
KPI (27:40)
- KPI Axis > Columns
- KPI – Current Sales Mvmt > Label (Middle Right)
- Use custom number format: Default > Numbers > Custom > +0%;-0%;””
- KPI – Sign > Color
- KPI – Sign > Shape
- SIGN() function (returns the sign of a number, positive or negative)
- Edit horizontal axis: -1 to 2
- Doing this here makes sense and then things can be adjusted
Pie charts (11:55)
- Pie Chart – Axis > Columns Shelf
- Mark > Pie chart
- Sales > Angle (not to Detail!)
- Segment > Color
Stacked Bar Chart (29:40)
- Notes on formulas:
- Stacked Bar – Axis – RUNNING_SUM(SUM([Sales])) / [Stacked Bar – WinSum(Sales)]
- RUNNING_SUM is used for the axis
- Stacked Bar – Size – SUM([Sales]) / [Stacked Bar – WinSum(Sales)]
- Stacked Bar – WinSum(Sales) – WINDOW_SUM(SUM([Sales]))
- This is sum of all the sales in the partition (TOTAL is an alternative)
- This is to make everything a share of 100%
- Stacked Bar – Axis – RUNNING_SUM(SUM([Sales])) / [Stacked Bar – WinSum(Sales)]
- Stacked Bar – Axis > Columns
- Table Calculation: Stacked Bar – Axis > Specific Dimensions > Category
- Table Calculation: WinSum(Sales) > Specific Dimensions > Category
- Category > Color [Need this to do the Table Calculations in the previous step]
- Mark > Bar
- Stacked Bar – Size > Size > Fixed > Right
- Table Calculation: Specific Dimensions > Category
Bar Chart Profit (37:16)
- This is two charts side by side
- Bar Chart Profit – neg Axis > Columns
- Bar Chart Profit – neg Size > Size
- Mark > Bar
- Size > Fixed > Right
- Edit axis > Fixed Start = 0 (keep Fixed End to Automatic)
- Horizontal axis > Reversed
- Bar Chart Profit – pos Axis > Columns
- Current Profit > Size
- Mark > Bar
- Size > Fixed > Left
- Edit axis > Fixed Start = 0 (keep Fixed End to Automatic)
- No variable to Color shelf here—set as single colors for each graph
- Add reference line to negative side:
- Distribution
- Scope > Entire Table
- Value: 100%
- Label: None
- Tooltip: None
- Percent of: Bar Chart Profit – neg Size
- Maximum
- Add reference line to positive side:
- Distribution
- Scope > Entire Table
- Value: 100%
- Label: None
- Tooltip: None
- Percent of: Current Profit
- Maximum
- Add second reference line to positive side:
- Line
- Scope > Per Pane
- Label: None
- Tooltip: None
- Value: 0; Constant
- Add labels
- Bar Chart Profit – Label -ve (Top right)
- Bar Chart Profit – Label +ve (Top left)
Bubble chart (45:00)
- Bubble Chart-Axis > Columns (brings in either current or prior year)
- Current year goes to the 2nd position on the x-axis
- Prior year goes to the 1st position on the x-axis
- Bubble Chart-Size > Size
- Mark > Circle
- Current Year > Detail
- Profit > Color
- Set red-blue diverging
- Change transparency
Heatmap (48:32)
- Heatmap-Axis > Columns
- Heatmap-Size > Size
- Just bump up the size and it will fill the cell
- Mark > Square
- Profit > Color > Red-blue diverging
- Profit > Label (Middle Center)
Sparklines (103:50)
- Sparkline Sales > Month (May 2015 format)
- Mark > Line
- Add dots: Color > Markers
- Current Sales > Label > Min/Max
- Scope > Pane
- Size > 7pt
- Field > D Sales or Profit or Position
- Table Calculation > Sales or Profit or Position > Specific Dimension > Month of Sparkline Sales – Order Date
- Set Horizontal axis > Start: 11/30/2021 11:18:35 AM; End: Automatic
- Sparkline Profit > Columns > Month (May 2015 format)
- Mark > Line
- Add dots: Color > Markers
- Current Profit > Label > Min/Max
- Scope > Pane
- Size > 7pt
- Field > D Sales or Profit or Position
- State First Letter > Detail
- Table Calculation > Sales or Profit or Position > Specific Dimension > Month of Sparkline Profit – Order Date
- Table Calculation > Sales or Profit or Position > Norm-Profit > Specific Dimensions >
- State/Province
- State First Letter
- Month of Sparklines Sales – Order Date
- Month of Sparklines Profit – Order Date
- Restarting every > State/Province
- Table Calculation > Sales or Profit or Position > Size > Table (across)
- Set Horizontal axis > Start: 11/30/2021 11:18:35 AM; End: Automatic
Vertical Bar chart (59:29)
- Vertical Bars-Axis > Columns
- Table Calculation: Specific Dimensions > Vertical Bars-Year of Order Date [edit after adding everything to Marks card]
- Mark > Gantt Bar
- Vertical Bars-Colour > Color
- Table Calculation: Specific Dimensions > Vertical Bars-Year of Order Date and State/Province [edit after adding everything to Marks card]
- Vertical Bars-Year of Order Date > Detail
- Vertical Bars-Size > Size
- Sales > Tooltip
- Horizontal axis range > -1.5 to 6
- Update Table Calculations for ‘Sales or Profit or Position’ pill
- Vertical Bars – WinSum
- Specific Dimensions > Vertical Bars-Year of Order Date
- Vertical Bars – WinMax(Sales)
- Specific Dimensions > Vertical Bars-Year of Order Date and State/Province
- Size
- Table (across)
- Vertical Bars – WinSum
Styling
Adjust sizes and cell sizes in each visualization so they fit to your screen size and/or dashboard.
Borders
- Sheet
- Default and Total > None
- Column Divider > None
- Grand Total and Row Divider > on
- Rows
- Default, Total, Grand Total > None
- Row Divider > on (Level: middle)
- Columns
- Default and Total > None
- Grand Total and Row Divider > on
Lines
- Sheet/Rows/Columns
- Grid Lines, Zero Lines, and Axis Rulers > None