14 Replies Latest reply on Feb 17, 2016 7:20 AM by Simon Runc

    Locking Visual Size in a Dashboard with Scrollable Labels

    Ryan Sinnott

      Hi Everyone,

       

      I am looking for a way to lock the size of the visual from shrinking as other things (specifically labels) expand. I am currently using two hierarchies in a workbook so the person using the visual has the ability to get pretty granular. My issue is when you use the hierarchies within the visual, the expand causing the visual to shrink.

      Hierarchy Screenshot 2.png

       

       

      Is there a way to lock the visual size and instead have the layered hierarchy be scrollable (see image below)? I want to keep the visual set in place because this is the important part.

      Hierarchy Screenshot.png

        • 1. Re: Locking Visual Size in a Dashboard with Scrollable Labels
          Simon Runc

          hi Ryan,

           

          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.

          3 of 3 people found this helpful
          • 3. Re: Locking Visual Size in a Dashboard with Scrollable Labels
            Ryan Sinnott

            Hi Simon,

             

            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.

            • 4. Re: Locking Visual Size in a Dashboard with Scrollable Labels
              Ryan Sinnott

              Hi Tharashasank,

               

              I am currently running version 9.0.6 of tableau so I am unable to see your workbook.

              • 6. Re: Locking Visual Size in a Dashboard with Scrollable Labels
                Simon Runc

                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!!

                • 7. Re: Locking Visual Size in a Dashboard with Scrollable Labels
                  Simon Runc

                  ...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.

                  3 of 3 people found this helpful
                  • 8. Re: Locking Visual Size in a Dashboard with Scrollable Labels
                    Yuriy Fal

                    Hi all,

                     

                    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.

                     

                    Yours,

                    Yuri

                    3 of 3 people found this helpful
                    • 9. Re: Locking Visual Size in a Dashboard with Scrollable Labels
                      Simon Runc

                      ...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.

                       

                      nice work!

                      • 10. Re: Locking Visual Size in a Dashboard with Scrollable Labels
                        Yuriy Fal

                        Thank you Simon,

                         

                        The next obvious step is

                        to compact Header/Label text.

                         

                        Yours,

                        Yuri

                        • 11. Re: Locking Visual Size in a Dashboard with Scrollable Labels
                          Ryan Sinnott

                          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!

                          • 12. Re: Locking Visual Size in a Dashboard with Scrollable Labels
                            Simon Runc

                            hi Ryan,

                             

                            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.

                            • 13. Re: Locking Visual Size in a Dashboard with Scrollable Labels
                              Ryan Sinnott

                              Hi Simon,

                               

                              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.

                               

                              Thanks!

                              • 14. Re: Locking Visual Size in a Dashboard with Scrollable Labels
                                Simon Runc

                                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.