If you add a 'Horizontal Container' into the Dashboard, and then place both your worksheet and 'Blank' inside, you'll get the option to Fix the width...
Now when you expand out the Hierarchy, you'll get the scroll bar.
hope that does the trick.
Hierarchy - SR.twbx 91.2 KB
This is doing the opposite of what I am looking to do. I want the labels to scroll and not the visual. I want the bar charts to stay visible at all times and remain the same size no matter how granular the labels get.
I am currently running version 9.0.6 of tableau so I am unable to see your workbook.
This is doing the opposite of what I am looking to do.
...ooops!! apologies! I thought it was the width of the entire Viz you wanted to maintain.
...The exact behavior you are after, will be tricky (maybe even impossible!) to achieve as we don't have the ability to split a Viz (the Headers from the Bars) and treat them differently. Let me have a think...although initial thoughts are that we'd need to control the levels displayed via a parameter, and so not use the +/- expanders native to Hierarchies in Tableau
I'll post back if the old gray cells come up with anything useful!!
...so I have come up with a solution of sorts...the 'of sorts' caveat is that it is pretty complicated and a bit fiddly! so be warned!
As mentioned before we can't do this through the +/- expanders (and have used a parameter to control the view levels), and in order to get the Viz to 'split' (i.e. control the headers and bars separately) we need to split them out into 2 sheets (well 4 in fact!). The other 'spanner in the works' is that headers (even if they don't fit) don't create scroll bars...I wasn't aware of this, so I've learned something new myself (which is why I love answering community questions!!).
Where to start?....
So the first thing I did was to create my parameter for the view levels
and I then created 3 calculated fields, to reflect this selection
I then create 3 sheets (which we will swap depending on the parameter selection)...below is the set up for the Regional view
Now as Headers don't scroll, we need to make the 'headers' as text marks. As you can see from the above I've used MIN(1) to create an Axis, and set the 'text' mark with the correct level. One more complication is that by default it would create a mark for every row...and we just want a 'header' for the 1st row of each new section. I've done this by creating some further calculations (based on a INDEX() calculation) to only populate the first row of each.
So for example for Region
The [index - view Level 2] index is set up as follows...shown here for level 3 sheet. by setting it up this way you can see that the index = 1 for the first row of each Region, and so the above calculation IIF([index - View Level 2] = 1... only returns the text for index = 1
So we then hide the 'actual' headers...so we are only left with our 'mark headers' for each of the sheets
Also notice that I've added in a filter (marked in above image) so each of the sheets only shows when the relevant view level is selected. This is done for all 3 sheets.
We then set up the bars as follows....again hiding the headers and only showing the bars
If you are still with by this point...well done!...now for the fiddly bit.
We place the 3 sheets in a horizontal container, and then put this container in another horizontal container. This means we get the option to 'Fix the width' of the container, and so force scroll bars when the the headers don't fit. We then also place the Bar sheet next to this (in the second horizontal container) and set to fit Width....and voila we are there (albeit with a bit more hiding of columns and setting of Axis)
One draw back for this solution is if you have so many rows that you also need vertical scrolls (as the Bars and Headers won't scroll together).
Hopefully someone can come up with a 'less horrible' solution to this, but I feel this needs to stay a real 'hatchet job' as we are getting Tableau to do many things it doesn't want to!
Let me know how you get on, and please post back if you get stuck anywhere.
Hierarchy - SR.twbx 71.9 KB
Having heard Simon's prayer for a 'less horrible' solution
I think I've came up with one. But (as any other hack IMHO)
it demands new habits from users -- here is the one of
using Parameter-controlled expanding / collapsing of Hierarchies.
Please find the attached wb with Dashboard 7 (Sheet 7 inside).
Please use [Level # Function] & [Level # Location] parameter controls.
Hope it could help a bit.
Hierarchy_YF.twbx 105.5 KB
...thanks for hearing the prayer!!
Very interesting solution, as always!...One of the things the OP wanted was that the 'Headers' scroll, but the Bars do not. However this solution, although not with Scroll bars on the 'Headers' as they expand, does leave the Bar-space consistent...so achieves the goal in a better way (IMHO). I also suspect that as he wants to expand out to quite a low-level that so will also need vertical scrolling, which is where my solution breaks down.
Thank you Simon,
The next obvious step is
to compact Header/Label text.
Thank you for all of the responses!
@ Simon - Yes there will be a lot of rows once you start expanding these labels the fact that these two visuals do not scroll together will not work for this need. But thank you for trying to figure it out.
@ Yuri - This looks like great and might be an interesting option. But it does not really solve the main problem. I like that locks the size and just shows the level if it is selected but my concern is the visual real estate. I wan't the bar chart to take up as much space as possible because as it gets smaller it is hard to see the differences between them. This is why I was leaning towards the scrollable labels. I want the user be able to get more granular and understand what they are looking at from a label standpoint, but the most important piece is the visual. That being said I do like how the visual size is locked for your example and it might be something we could use. Thanks for your help!
Thanks for coming back...I always like to hear how the story ends! and I think Yuri's solution is the best here too (especially with the need to vertically scroll - you may want to vote this idea up Synchronize Sheets on Dashboard for Scrolling Purposes), but totally understand the desire to preserve screen real-estate for the Viz part.
As a complete diversion from the original question...when a Viz is so long that it needs scroll-bars, it is probably getting into the real of a Visual-LookUp report and so doesn't take full advantages of the purpose of Visualising data. In these scenarios, I often employ a sheet-swap so when the user gets to a certain 'grain level' it flips to a different chart type (maybe a Box-and-Whiskers Scatter Plot) which is better for displaying a high number of marks...Just a thought.
I completely agree that this is getting to a point where the visualizing of the data may be getting lost with all of this granularity. But I will have have multiple users with multiple needs using this visual so I need the flexibility to be able to show all of the options even if it may not be in the best interest of the visual.
My example workbook was not truly what I was trying to accomplish. It was just the easiest way to show my issue. I am actually following this example here and I am creating a Gantt style visual for NPS data. I want to show the individual scores which is why I can not use a visual like a Box and Whisker plot.
Yes makes total sense...I'm constantly caught between 'user flexibility'/'user usability'/'visual usefulness'!!
Yes love the divergent bar charts. That is a great article.