Tableau version 9.2 is getting close to release and thanks to a couple of little birdies — moles? informants? people whose initials are [redacted] and [redacted])? — I’ve learned about some features that weren’t announced during the keynote at the 2015 Tableau Conference. I asked for permission to talk about them and over the next few weeks I’ll blog about a few of my favorites.
Up through v9.1 Tableau will happily put any continuous (green) pill on the Filters Shelf, but when it comes to discrete (blue) pills Tableau’s behavior has been inconsistent.
- Discrete pills based on dimensions and record-level calculations like [Sales] > 10000 are supported.
- Discrete pills based on regular aggregates such as SUM([Sales]) > 10000 have not been supported.
- Discrete pills based on table calculations such as LOOKUP(SUM([Sales]) >10000, 0) are supported.
Here’s an example where I’m looking at Sales & Profit in my pirate-themed shops in New England. I’ve set up a KPI with the following formula:
IF SUM([Profit]) > 5000 THEN "Thar be profit!" ELSEIF SUM([Profit]) > 0 THEN "Need more booty" ELSE "Arrr!" END
In version 9.1 and earlier if I try to filter to see only the Arrr! circles to find the money-losing stores, I can’t drop the KPI pill onto the Filters Shelf:
There have been a few workarounds for this by:
- Brushing/highlighting via the Color Legend.
- Using a LOOKUP() calculation as described in the table calc section above.
- Converting the discrete KPI into numbers that can be used as a continuous filter like IF SUM([Sales]) > 10000 THEN 1 ELSE 0 END, then filtering for 1.
- Using FIXED Level of Detail expressions to convert the aggregate measure into a dimension.
This seemingly arbitrary distinction between dimensions, regular aggregate measures, and table calculations confuses new users and the solutions can cause further complications. It’s a point of friction that to us as users doesn’t seem like it needs to be there at all, no matter the underlying complexity of the problem.
Engage Friction Reducers!
In version 9.2 (with a little Mapbox Pirates theme goodness) this issue is gone, *poof* like it never existed:
So we users don’t have to keep in mind the distinction between calculation levels and pill types, we can filter away.
And the discrete aggregate pill is also completely usable as a quick filter:
…and can even be used as a scoped filter like continuous regular aggregate measures:
Complications of using ATTR()
There is still one limitation here, we can’t drop ATTR(Xerox Flag) from a primary data source onto the Filters Shelf:
I suspect the reason why has to do with ATTR() being a special aggregation computed in Tableau whereas MIN(), MAX(), COUNT(), and COUNTD() are all computed in the data source.
However, when using data blending we can put ATTR(secondary dimension) on the Filters Shelf because of how data blending works – many aggregate filters on secondary sources are generally computed in Tableau, not in the data source, so Tableau already has that ability to filter on ATTR(secondary dimension). Here’s an example using Xerox Flag from a duplicated secondary source:
Note that Tableau is adding an extra Null value to the list of filter values because that is Tableau’s default behavior for secondary dimensions used as filters. Vote for Option to eliminate null value form Quick Filter on secondary data source field if you’d like to get rid of this.
For me as a calculation writer this is a nice new feature because it lets me express KPIs and other measures in their natural forms and work with them more easily. As a trainer my students are less confused and can focus more. Thank you, Tableau devs!
Tableau Public is running v9.2 already and you can see the filter by discrete regular aggregates workbook and download it to your v9.2 beta. (If you’re not running the beta, you can get it by contacting your Tableau sales rep).