
Sean used some Super Bowl data for this week’s #WOW2026 challenge , using Gantt charts to display ‘arrowed bars’.
Creating the calculations
It took me a little bit of time to understand what I needed from the data to create the required visualisation, so let’s tackle that first.
We need to know the Season and the number of the Super Bowl in roman numerals. The Super Bowl field has this info as it displays <Super Bowl Number as integer> (<year>) ie 4 (1970) – the 4th Super Bowl for Season 1970.
To quickly generate the data I needed, I used the Split function on the Super Bowl. field (Right click > Transform > Split). This automagically generates fields Super Bowl – Split 1 containing the numeric number and Super Bowl – Split 2 containing the year.
I simply renamed Super Bowl – Split 2 to Season, but for completeness, this is what the calculated field looks like
Season
TRIM( SPLIT( SPLIT( [Super Bowl], “(“, 2 ), “)”, 1 ) )
I then renamed Super Bowl – Split 1 to SB Number (int) and changed the data type from string to whole number. Again the field looks like
SB Number (int)
INT(TRIM( SPLIT( [Super Bowl], “(“, 1 ) ))
But I want the number in the format SB + roman numerals. A quick search on the web, and I found the required logic needed to make the conversion, so I created
SB #
“SB ” +
// Thousands Place
CASE INT([SB Number (int)] / 1000)
WHEN 1 THEN “M” WHEN 2 THEN “MM” WHEN 3 THEN “MMM” ELSE “”
END +
// Hundreds Place
CASE INT(([SB Number (int)] % 1000) / 100)
WHEN 1 THEN “C” WHEN 2 THEN “CC” WHEN 3 THEN “CCC” WHEN 4 THEN “CD”
WHEN 5 THEN “D” WHEN 6 THEN “DC” WHEN 7 THEN “DCC” WHEN 8 THEN “DCCC”
WHEN 9 THEN “CM” ELSE “”
END +
// Tens Place
CASE INT(([SB Number (int)] % 100) / 10)
WHEN 1 THEN “X” WHEN 2 THEN “XX” WHEN 3 THEN “XXX” WHEN 4 THEN “XL”
WHEN 5 THEN “L” WHEN 6 THEN “LX” WHEN 7 THEN “LXX” WHEN 8 THEN “LXXX”
WHEN 9 THEN “XC” ELSE “”
END +
// Ones Place
CASE INT([SB Number (int)] % 10)
WHEN 1 THEN “I” WHEN 2 THEN “II” WHEN 3 THEN “III” WHEN 4 THEN “IV”
WHEN 5 THEN “V” WHEN 6 THEN “VI” WHEN 7 THEN “VII” WHEN 8 THEN “VIII”
WHEN 9 THEN “IX” ELSE “”
END
Let’s add the fields we need into the table; add Season and SB# into Rows and sort Season to be listed descending. Then add O/U Line to Rows as a discrete dimension (blue dis-aggregated pill).

Note – I added the results of the 2026 Super Bowl into the provided data set.
We need to compare the O/U Line number with the combined score of the match. The score can be found in the Final field which has info of the winning team and score eg for PHI 40-22, the combined score is 40+22 = 62. I again used the Split functionality to extract the data needed.
The automatically created field Final – Split 2 contains the 2nd half of the score. I renamed this and changed the data type to a whole number
Result Part 2
INT(TRIM( SPLIT( [Final], “-“, 2 ) ))
I then ‘split’ Final – Split 1 again. The automatically created field Final – Split 1 – Split 2 contains the 1st half of the score. I again renamed and changed data type to int.
Result Part 1
INT( SPLIT( [Final – Split 1], ” “, 2 ) )
I then created
Combined Score
[Result Part 1] + [Result Part 2]
and
O/U Difference
[Combined Score]-[O/U Line]
Pop these onto the table along with the Result field and we have all the fields we need to build the viz

Building the viz
ON a new sheet, again add add Season and SB# into Rows and sort Season to be listed descending. Then add O/U Line to Rows as a discrete dimension (blue dis-aggregated pill). Add Combined Score to Columns and change the mark type to shape. Add Result to Shape and set the filled arrows shapes accordingly. And add Result to Colour and adjust that too.

Add O/U Line to Columns which will create a 2nd marks card. Click on this marks card, and change the mark type to Gantt Bar. Remove the Result pill that is now listed on the Detail shelf (keep the one on Colour). Add O/U Difference to the Size shelf, and then click on the Size shelf, and reduce the width a little.

Make the chart dual axis and synchronise the axis. Remove the Measure Values pill from the colour shelf of the All marks card.

Now add O/U Difference to Columns and change the mark type to bar. Remove the Result pill from this card. Adjust the colour and reduce the Size.

In the solution, these bars have rounded ends, so add another instance of O/U Difference to Columns. Change the mark type to Circle, and set the Colour to match the bars. Make the char dual axis and synchronise axes. Adjust the size of the circle and/or bar marks, so the circle makes the bar look like it has a rounded end.

And that’s the crux of the challenge. Formatting changes include
- Set background colour of worksheet
- Remove all gridlines, zero lines, axis rules/tick marks
- Remove all row & column dividers
- Add row banding
- Add Season to Filter and exclude 1967
- Adjust axis titles
- Adjust formatting style of the Season, SB #, O/U Line values
- Add title and description

And then add to a dashboard, and you’re all set. My published viz is here.
Happy vizzin’!
Donna




































































































































