14 Replies Latest reply on Oct 26, 2013 6:52 AM by Jonathan Drummey

# Inverse treemap?

Hello,

Does anyone know if there's a way to do an "inverse" treemap?  What I'm trying to do is create a treemap where the biggest box reflects the smallest value in a data set.  I've tried a few different things, but haven't stumbled onto the answer.  Any ideas?

Thank you!

Becky Olson

• ###### 1. Re: Inverse treemap?

You can reverse the colors pretty easily, but I'm not sure about reversing the sizes.  I'll be interested to see a solution

• ###### 2. Re: Inverse treemap?

Exactly, me too.  It may not be possible, but I ran into a situation yesterday where that would be very helpful for what I'm doing.  We'll see...

• ###### 3. Re: Re: Inverse treemap?

Rebecca,

There is a way!  I've attached a sample solution using Sales as my measure.  The treemap shows the items with the smallest sales as the largest item.

To do this, I created the calculated field:

Inverse Sales

```LOOKUP(SUM([Sales]), Last() + First())
```

The table calc must be sorted along the measure (ascending or descending doesn't matter).  This is necessary because what it is doing is looking up the value of SUM(Sales) at the corresponding inverse location -- so the dimension with the largest SUM(Sales) looks up the value for the smallest SUM(Sales), 2nd largest looks up 2nd smallest, etc...

When you place this calculation on Size of the treemap, you'll get an inverse treemap!

You can use the original measure for label/tooltip.

Hope this helps!

Regards,

Joshua

• ###### 4. Re: Re: Inverse treemap?

Excellent!  I was trying to figure out how to inverse the values, but alas, I was not clever enough.  Thanks Joshua, for educating me!

• ###### 5. Re: Re: Inverse treemap?

Rebecca, could you explain what this is for? I'm curious why you'd want a larger area to go with a smaller value, I'm also curious if Joshua's solutions works for you, since it's doing a simple swap of largest to smallest, 2nd largest to 2nd smallest, etc. and the areas of the rectangles won't necessarily have anything to do with the intrinsic magnitude of the value.

Joshua - brilliant use of FIRST() and LAST()!

• ###### 7. Re: Re: Inverse treemap?

Hi Joshua,

Thank you so much for the proposed solution!  I haven't yet had a chance to give it a try, but I will (hopefully) later today and will report back on the results!  Thanks so much for the assistance!

Becky Olson

• ###### 8. Re: Re: Inverse treemap?

I am doing analysis on the amount of time managers spend on re-certifying user access each quarter.  I want to highlight people who appear to be "rubber-stamping" or just hitting "approve all" on their users without properly reviewing the access in detail.  I did some analysis to find people who spent less than 10 seconds on each user, and wanted to highlight the worst offenders.  Thus, I wanted the map to highlight people with the lowest value for "time per item".

I'll let you all know how it turns out, thank you so much for the thoughtful and quick responses!

Becky Olson

• ###### 9. Re: Re: Re: Inverse treemap?

Becky,

You could encode time duration using colours, red for lowest periods and green for highest, and map the number of users request as surface. I have a feeling that is a strong correlation between #of users and lowest durations and you should be able to emphasis this on the viz.

Regards,

Cristian.

1 of 1 people found this helpful
• ###### 10. Re: Re: Re: Inverse treemap?

Becky,

Regards,

Cristian.

1 of 1 people found this helpful
• ###### 11. Re: Re: Re: Inverse treemap?

Hi Cristian,

Thank you for the additional insight and the link to another thread.  That's a great point and I will be interested to read that in more detail.

I'm still playing around with the best way to visually present my testing in a manner that highlights what I'm really after  - managers with high numbers of users to certify and 1) seemingly unreasonably short time periods spent on the reviews, as well as 2) low numbers or no remediation actions indicated as part of the review (again indicating to me that due care is not being given to these reviews).  At the moment, I'm having pretty good luck with some scatter plots, but I will also try the items suggested by the individuals on this thread too.  It never hurts to tell the story in more than one way!

I work in a department where we have simply been heavily reliant on use of ACL to conduct analytics, but I'm trying to lead the charge to present the results in a more meaningful manner, so I'm new to Tableau.  I've only been using it for about a month and a half, but I'm already amazed at how this enhances my analysis!

• ###### 12. Re: Re: Re: Re: Inverse treemap?

Hello Becky,

To find suspect activity ie very short time periods i shall suggest you to use standard deviation function (Standard deviation - Wikipedia, the free encyclopedia), it is built in Tableau.

Also, one part of the story could be told using heat maps, it will take you few minutes to create a viz.

For dealing with ACL **** i shall suggest you to try excellent Access Check & Access Enum tools from sysinternals owned by Microsoft (AccessChk & AccessEnum)

Regards,

Cristian.

1 of 1 people found this helpful
• ###### 13. Re: Re: Re: Re: Inverse treemap?

Hello Becky,

Please check this thread (Re: Show me how to do this viz better.) - contains a viz by yours truly showing the power of std dev function.

Regards,

Cristian.

1 of 1 people found this helpful
• ###### 14. Re: Re: Re: Re: Inverse treemap?

In my day job I report on healthcare quality metrics, and sometimes we want to do things like compare doctors simultaneously across multiple metrics to find variation. Some options are parallel coordinates, slope graphs, and bumps charts. First, parallel coordinates: Parallel coordinates - Wikipedia, the free encyclopedia

In Tableau, we have to do a bit of extra work for a parallel coordinates plot to make sure all our measures have axis ranges that are close enough. Using Superstore sales, I put Container on the Level of Detail and set up three percent of total quick table calcs to give Sales, Profit, and Order Quantity all the same range while retaining the proportional differences:

Alternatively, we can use a ranking scheme. For this, I used the INDEX() table calc, and each measure has an Advanced Compute Using with a different sort order. I reversed the axis on this so the top ranked items would be on top:

This view lets us see that Wrap Bag (the pink line) has the the lowest sales and profit and the second highest total of order quantity.

If you get rid of one of the measures and leave just two, then you've got the beginnings of a slope graph. There are other ways of putting this together, this is a quick one:

When I've used these kinds of views for static viewing, I'll usually do some annotations with analysis because people aren't that familiar with slope graphs and parallel coordinates plots.

If you want to do a comparison of the multiple measures over time, one way is to use a bumps chart Edward Tufte forum: Slopegraphs for comparing gradients: Slopegraph theory and practice. I set up a few examples in the attached. These can get really hard to describe in a static view, I've found that using them in a presentation with brushing so I can highlight a given value works pretty well. Here's an example where I created a ratio of the % of profit/% of total for the containers for each year, and highlighted how Jumbo Box has the lowest ratio:

Jonathan

1 of 1 people found this helpful