Dynamic Zone Visibility: New in Tableau 2022.3
It's not very often we get features that take us back to old work excited, and Dynamic Zone Visibility is exactly that.
- Dynamic Zone Visibility only works with fields or parameters that are boolean, single-value, or independent of the vis, so meeting those requirements is essential before the option appears.
- Select a zone, go to the Layout tab and tick 'Control visibility using value' to drive a sheet's visibility from a boolean parameter or field.
- Unlike old show/hide hacks, hidden zones are removed entirely from the dashboard so containers collapse cleanly without leftover pixel spacing.
- The capability controls whole containers and sections, not just individual sheets, by double or triple clicking to select the parent container.
- Build the full dashboard first, then add visibility control at the end, since you can't easily select a zone once it's hidden; combine with parameter actions for click-driven experiences.
0:00Hey, it's Tim here. It's not very often
0:01that we get features that take us back to
0:03old work excited.
0:05Today I'm going to show you what Dynamic
0:07Zone Visibility allows you to do in 2022.3.
0:11Now this
0:11is a super exciting feature. It allows you
0:13to do what I'm showing you on screen right
0:15now. This is
0:16going to be awesome and I'm going to tell
0:18you this now, we probably haven't
0:19discovered all the things
0:21that are possible with this feature. Let's
0:23get stuck in. So to start with, I'm going
0:26to show you
0:26a very very basic setup of how this works.
0:29And what I'm going to do is I'm just going
0:31to call
0:31out to the documentation for this feature
0:33straight away. If you head to the link in
0:35the description,
0:36I've linked to this. And the key thing to
0:38understand is this feature only works on
0:40certain
0:41field types. So the first one is a boolean
0:43field type, the other one is a single value
0:45, and another
0:46one is independent of the vis. Essentially
0:48a field or parameter must meet these
0:50requirements. Now
0:52I've spent a lot of time trying to
0:53understand these requirements and I had to
0:56reach out to
0:56a broad church of people on Twitter and
0:58also internally in the information lab. A
1:00big thanks
1:01to Craig who finally explained to me where
1:03this was going to work and essentially we
1:06got there.
1:06But this is a really important requirement
1:09because you won't see the features show up
1:10unless you meet these setup requirements.
1:13So here I am in a basic dashboard. If you
1:16're wondering
1:16where I've got this dashboard so you can
1:18follow along, you can just go ahead and
1:19open the first
1:20dashboard here in Superstore. Later on in
1:22this video, I'll show you another example
1:24which is
1:24of sort of purposely built to show off a
1:27much better setup for this. So let's go
1:29back to the
1:30main dashboard here. And what I'm going to
1:32do is I'm going to just build a parameter,
1:34we're going to use that parameter to hide
1:36this map. So the first thing to do is just
1:38to build
1:39the parameter, let's go in here straight
1:41away to the map itself. And when we go in,
1:43the first thing
1:44we're going to do immediately is just build
1:46a parameter. And when the parameter comes
1:49up,
1:49we'll just select Boolean in this
1:51particular case, we'll call this show map.
1:53And obviously,
1:55the default current value is true. And
1:58everything else can pretty much stay as is.
2:00So I'll click OK.
2:01And when I create that show map value, and
2:03I go back to my overview, and I click on
2:06the map,
2:06you have to make sure you've clicked the
2:07map, you can see it's clicked when I get
2:09this sort of dark
2:10gray border around the map, then I go to
2:12the layout tab here on the top. And you'll
2:14see there's a new
2:15option here saying control visibility using
2:18value. Now that I've added that parameter
2:20that meets the
2:21requirement that I talked about at the
2:23beginning, when I tick this box and go to
2:24this drop down,
2:25you will see that parameter show up. So you
2:28can see here the show map option is there.
2:31And then
2:31the next thing I'm going to do is bring the
2:33parameter in, I'm going to bring that
2:35probably
2:35going to maybe make it floating so it doesn
2:37't get in the way oops, doesn't get in the
2:38way of my,
2:39oh, it's going to get in the way of my
2:41thing. So let me instead move it up here.
2:43And let's make
2:45this floating by doing that. And I'll just
2:47bring it right here to the map, just above
2:49the map. So
2:50you can see this working. So now when I set
2:52this to false, the map disappears, set it
2:55to true,
2:55the map shows up. So immediately, this is a
2:58much better way of showing and hiding
2:59sheets,
3:00we've had to do sort of various hacks in
3:02the past to get this to work. And this is
3:04basically the
3:05basic mechanic for this feature. It's
3:07driven by a parameter. And it can also be
3:10driven by a field,
3:11I'll come to the field in a second. But in
3:13essence, it's a very, very simple setup.
3:16Now,
3:17the other thing to bear in mind here is
3:18that of course, these parameters can be
3:20affected by
3:21parameter actions. So you could create a
3:24scenario where something fires a parameter
3:26action that
3:27changes the visibility of the sheet,
3:29because it's changing the parameter here,
3:31that's controlling the
3:32visibility. So that is that is literally
3:34the feature in a nutshell, that is the
3:36simplest
3:36setup you can do. If that's all you want to
3:38do, basically show or hide various shots,
3:41you can use
3:41this capability straight away. The other
3:43thing, the very subtle thing, and I haven't
3:45really touched
3:46on this yet is if I hide this, when it when
3:48it gets rid of that particular thing, it
3:51actually
3:51doesn't exist on the dashboard anymore. So
3:53unlike before, where you show and hide
3:55sheets,
3:56you'd remain with one or two pixels on the
3:58left and the right at the bottom, this
3:59completely gets
4:00rid of it from the visualization. So you
4:02don't end up with this sort of weird
4:04spacing issue that you
4:05might get if you're trying to lay up a
4:06bunch of things to sort of collapse inside
4:08of the same
4:09setup. So I find this really, really good.
4:11I think it's a great capability, you can of
4:13course work
4:14with this parameter to have something else
4:16show up when it says false. So when the map
4:18is hidden,
4:18you could for example, show a line chart or
4:20something else. But here, the collapsing
4:22containers are just essentially filling the
4:25space naturally. Now, I will pre warn you,
4:28if you really want to use some of the best
4:30capabilities of this feature, you're gonna
4:32have
4:33to get good at containers. And I hate to
4:34say that because you shouldn't have to be
4:36good at containers
4:37to make this feature work. But it turns out
4:40that this zone capability doesn't just
4:42control sheets,
4:43it also controls whole sections of the
4:46visualization. Let's bring this back in.
4:49And
4:49this time, I'm going to select this map.
4:51And I'm going to remove this so that it
4:52doesn't change
4:53anymore. Okay, so let's just go back to
4:55true. And let's see that the false doesn't
4:57change anything.
4:58Okay, so now what I'm going to do is I'm
5:00going to double click the map like this.
5:02And what that does
5:03is select everything in the blue container
5:05you can see on screen, which includes the
5:08two charts on the
5:08right hand side. And you'll see here that I
5:11have this visibility option here as well.
5:14So I can now
5:14control these whole section of the
5:16visualization with this capability. So now
5:19my show map parameter
5:21controls whether the whole visualization
5:23shows up or not. And so this is really
5:25powerful because
5:26you're not just changing sheet, you can
5:28essentially change whole sections of the
5:30entire
5:30dashboard. Let's try one more thing. Let me
5:32just show you this because what I didn't
5:34include last
5:35time was the filter. So let's go double
5:37click that one more time. So the whole
5:39bottom section of the
5:40whole entire visualization will go in
5:42selected, I know I'm laboring the point
5:44here, but it's really
5:45sort of important to drum home here, you
5:47can just wholesale hide whole sections of
5:50your dashboard
5:51with this capability. And that's just the
5:53basic setup. It's already miles better than
5:55it was
5:55before. And it's going to get rid of a ton
5:57of hacks. If you know me and hacks, I hate
5:59hacks,
6:00I don't like them. Check out my video on
6:02that as well. But nonetheless, that is sort
6:04of that is
6:05like tier one of this feature. Now, when
6:07you start to get more capable with this
6:09feature, what you're
6:10going to want to do is think about how it
6:11works with containers, think about how it
6:13works with
6:14parameter actions. And then more
6:15importantly, think about how you can piece
6:17that together
6:18to make an experience. I think I have to
6:20recommend that people now really start to
6:22think carefully
6:23about people's user journeys. Because when
6:25you start to do that, you might actually be
6:27able to
6:28build multiple experiences within a single
6:30dashboard depending on the user, and have
6:33those
6:34work based off interactions through
6:36parameter actions, or even specific URLs
6:39that enable and
6:40disable certain parts of the dashboard by
6:42just changing the parameters in the URL,
6:44that's going
6:45to be another pretty nice use case. So I've
6:47shown you one way of doing this, let's go
6:49to not something
6:50I made earlier, but something I prepared
6:52earlier, because in order to show you this
6:54whole thing,
6:54I need to walk through a couple of steps
6:56with you. So let's go over to this other
6:58dashboard,
6:59you can see here, I have a very basic
7:01visualization. And if you look at the
7:03bottom,
7:03you see that I have a bunch of different
7:05sheets, okay. And I just have one dashboard
7:08. And if I go
7:08to my dynamic zone visibility dashboard,
7:11you can see that everything more or less
7:13fits on the
7:14dashboard. Now what I've done here is I've
7:15set this much, much wider than it should be
7:17. So let's
7:18go ahead and just compress this right down
7:20so that it fits on screen. So there you go,
7:22you can now see
7:23everything on the dashboard. Now, in order
7:25to set this up, it's not a great dashboard,
7:27I completely
7:28sort of say that up front, in order to set
7:30this up. And the best way I could find of
7:33working with
7:34this height show zone capability is not to
7:37essentially build a dashboard and hide and
7:41show
7:41the zones to build it because essentially
7:43what was happening is I was getting
7:44selection issues.
7:45So I couldn't quite select the zones easily
7:47. So what I've done is I've put everything
7:49on the
7:49dashboard, then what I'm going to do is I'm
7:51going to start dynamically hiding them
7:53based on certain
7:54parameters. Now, in order to do that, I've
7:56written a slightly different calculation.
7:59So I'll go back
7:59to my main sheet here. And you'll see that
8:02I've got these three calculations. Now they
8:05actually
8:05result in Booleans as well. And what I've
8:07done is I've also created another parameter
8:09called category.
8:11And the category parameter, if I show you
8:13this, let's just start with a parameter is
8:15the simple
8:15parameter with a string. And then you've
8:18got a bunch of values, which is a list. And
8:21it's
8:21basically loading it from the category
8:23field in my data set. Now, I've ticked when
8:26workbook opens
8:27loaded from the category. In many ways,
8:29what you should really do is use fix
8:31because what you don't
8:32want the user to do is select something
8:34that hasn't yet been designed. So I'll load
8:36the values
8:37from that field, but then I'll leave it as
8:39fixed. So if a new category shows up, I
8:41need to go in and
8:42add it to the dashboard to make it work. So
8:44that's step one, set up your parameter.
8:46Step two, we set
8:48up three calculations, one for each
8:50category, it's pretty straightforward.
8:52parameter category equals
8:54furniture. And you have to make sure you
8:57don't sort of get any typos in these sort
9:00of fields and
9:00make sure they're actually correct.
9:02Otherwise, the parameter won't fire. And
9:03you can see these are
9:04just three parameters. Sorry, three
9:06calculations, checking the parameter. And
9:09now you've done that
9:10you've essentially created the three fields
9:13that Tableau can then use to control each
9:16of the
9:16sections of the dashboard. So now, if I
9:19just go to my dynamic zone visibility
9:21dashboard, what I can do
9:23is I can select each section like this. So
9:25I've double and I'm actually triple clicked
9:28here,
9:28because I've got two items in here. So I've
9:30triple clicked to get the blue icon for
9:31this zone,
9:32I've gone to layout, I've gone to control
9:35visibility. And this pink one is office
9:37supplies.
9:38Notice how I've tried to do a bit of color
9:39matching to make obvious. So office
9:41supplies only,
9:42okay, that's set up. So now that's good.
9:45The office supplies is currently where the
9:47parameter
9:47is set up. So this is already working,
9:49because you can see that this has not
9:51disappeared. But as soon
9:52as I go to the next one, let's go ahead and
9:54triple click this, I go to control
9:56visibility, this one's
9:57going to be furniture, you'll see
9:59immediately disappears. But you can see
10:02that it's still
10:03selected on my dashboard, maybe this is a
10:05bug, maybe this shouldn't happen. But what
10:07I found it
10:07hard to do is how do you select the thing
10:09that doesn't currently exist, it's
10:10essentially taking
10:11up the same space, things are collapsing
10:13around it, but you can't really select it.
10:15So in my sort
10:17of experience, it was easy to build
10:19everything, then add interactivity at the
10:21final step. And then
10:22for the final one, let's go to technology,
10:24we need to double click this because this
10:26one has legends
10:27and filters in it as well. Let's just add
10:30that in. And in fact, what I what I will do
10:32is remove this
10:33because that shouldn't be there. And let's
10:36go back in and do that again, select that,
10:38go to control
10:39visibility, and then select technology only
10:41. So now you can see it's still selected.
10:43And everything
10:44is good. So we've got this dashboard that
10:47setting, basically set up to switch between
10:51different
10:51users. And so let's go ahead and, in
10:53essence, go back to the dashboard, make
10:56this a little more
10:57narrow. So this is actually now the design,
10:59I was actually going for a nice sort of
11:01cute small
11:02dashboard. Let's just collapse the height a
11:03little bit, actually, we'll keep that. We
11:06'll keep that as
11:07is that that's sort of okay for me,
11:08actually, I'll, I can do a few other things
11:10. But if we don't
11:11have sort of mess around with this too much
11:13, let me move this across, we're actually
11:14going to get
11:15rid of this parameter soon. But just want
11:17to show you, okay, this is the setup. So
11:19now watch what
11:20happens as I switch between these sections.
11:22So here I am going to furniture, going to
11:25office supplies,
11:26then go into technology, and they're each
11:28themed and the charts, expand and fill as
11:31they should do.
11:31And now that you know, everything is set up
11:33, I can actually more accurately sort of
11:35control the
11:36spacing in each particular zone. And I can
11:38go in here and I think this has been set to
11:41fixed with
11:41will actually get it to not do that. And we
11:44'll do this as well not to do. I would set a
11:47it's set to
11:48a fixed height there. But if I keep going
11:51again, I should eventually find the fixed
11:53width item here.
11:54And now this is sort of fully collapsing.
11:56So you can say in a game needs to really be
11:58on point to
11:59get this to work elegantly. And what I'll
12:01do is I'll hide the title here. So you can
12:03't even see
12:03that it's technology. So technology, office
12:06supplies, and furniture. Okay, this is all
12:09great.
12:09Now, the final touch, which I haven't done
12:12yet, I'm going to try it first while I'm
12:14recording this
12:15video is to set up a parameter action
12:17driven by this top chart, because of course
12:20, these values
12:21match the parameter exactly. So as I click
12:24different items, I should switch between
12:26different
12:26charts. And when I deselect the item, it
12:29should clear all the different things. I'm
12:32not sure that
12:32final step will work the way I expect. But
12:34let's go ahead and do this. So I'll go up
12:36to the dashboard
12:37options. We'll go to where is it actions.
12:40And then what we want to do is set up a
12:42parameter action.
12:43Now my main sheet is the one at the top. So
12:46I'll say look, let's add a parameter and we
12:48're going to
12:49change the parameter here. And what we're
12:52going to do is take this from let's go to
12:55there's a little trick here, if you've ever
12:57wondered how to multi select everything,
12:59you take the first one, scroll down, hold
13:02shift and deselect. Okay. And now that you
13:04've done that,
13:05what you can do is you can just select one
13:06of these, let's say we're taking it from
13:08the main
13:09sheet, the target parameter is going to be
13:11this one, and essentially is going to be
13:14passing the
13:15field category in this particular case,
13:17okay. And when you clear the selection,
13:20yeah, you can,
13:22you can change what it sets the value to
13:23now, in this particular case, I don't think
13:26I have
13:26like a value that shows nothing. So what
13:29you should do is have a fourth item, which
13:32says none,
13:33and then that would basically cancel
13:34everything out. So what we'll do is just
13:36keep this to current
13:37value, I'm not going to sort of bother with
13:39that. And we'll just leave that as is. So
13:41we'll call
13:41this parameter action. Okay. So now what
13:45this parameter sheet is doing is it's
13:48actually sending
13:49instruction to the visible parameter that
13:52we've got. And that is controlling each of
13:54the different
13:54calculations we've got. And it's basically
13:56triggering. So let's go ahead and click OK.
13:58And now when I click on each one, you can
14:02see the chart is changing. So how cool is
14:05that you can
14:06switch and switch off whole sections of the
14:09whole dashboard, just by clicking on a
14:12particular item?
14:13I think that's incredible. I think that's
14:15such a powerful capability. And honestly, I
14:18think it's
14:18it's it's just one of these things that
14:20just goes, yes, this has just changed the
14:23game of what is
14:24possible with tablet. And I have to say,
14:25again, this doesn't happen that often,
14:27especially with
14:28work you've already done, you can actually
14:30think of maybe examples in the past, where
14:32you've wanted
14:32to do sort of weird things, and it just
14:34doesn't work as beautifully as you thought
14:36it would. And
14:37now you can do that nice and easily using
14:39parameter actions. And in fact, in this
14:41particular
14:41case, I can now get rid of that selector,
14:44because who needs an interface when I can
14:46just rely on the
14:47interaction. That's pretty much it for my
14:48example. Now, of course, there's so many
14:50other use cases
14:51you can use here. If I go to my browser,
14:53what I've done is I've seen other sort of
14:56ideas come up. So
14:57if I go first to Twitter, let's go to Sam
15:00Parsons, he's actually been able to use
15:02this to do some
15:03zooming. So if we go look at his example,
15:05and we just go to his public profile, I'll
15:07put a link to
15:08this in the description, what he's doing is
15:10when you click on a specific zone, and I've
15:13downloaded
15:13this or found out how to do it, I'm the
15:16kind of nerd who likes to understand how
15:17this could be
15:18possible. And so when you click on zoom, it
15:21actually zooms the whole chart in and out,
15:23which
15:23is I think it's just super useful, right.
15:25And of course, it also really nicely works
15:28with the side
15:29panel, because of course, this feature
15:31controls the zone. And notice that it even
15:33hides the button
15:34there, and then you put it back out,
15:36collapse it back in the button comes back.
15:38And then you can
15:39even do things like collapse whole sections
15:42of the container, or add and change the way
15:45different
15:45things are working. So there's so many nice
15:47little bits of interactivity here. It's
15:49just unbelievable.
15:52I can't believe sort of the art of the
15:54possible I I'm a little bit frustrated that
15:56we have to
15:57cajole containers as much as we're going to
15:59have to to make this work really, really
16:00well.
16:01But you know, I'll take it, I'll take it
16:03anything to make this experience better. So
16:05that's Sam
16:06Parsons, I'll put a link to the example he
16:08's got on Tableau public in the description.
16:12The next
16:12one is from Kevin. And he's basically just
16:14highlighted the point that I was talking
16:15about,
16:16you know, thinking back of old solutions,
16:18and finding new ways of making them work.
16:20So here,
16:21he's gone back and adapted a dynamic sort
16:23of show and hide setup with parameters and
16:26filters.
16:26And yeah, he's been able to make it a lot
16:29easier and a lot simpler. And the other
16:31thing is that
16:31this should be more performant, because you
16:33're not having to create these nasty
16:35calculations in the
16:35background to do all this work. And the
16:38very last one is from Luke. And so Luke has
16:40an interesting
16:41one. I'll be honest, I haven't figured out
16:43how this works yet. And but in essence, you
16:45can see
16:45he's clicking on individual customers, and
16:47it's loading up a chart specific to that
16:49customer each
16:50time. And so I think this is really cool,
16:52because you almost have these exploding
16:54visualizations,
16:55you cannot almost change and break the mold
16:58of how things are working. So check these
17:00out,
17:00I'll link to this in the description as
17:02well. So you can check out all three of
17:03these fantastic
17:04resources. And by by no means this is it, I
17:07'm certain there are people out there who
17:09are already
17:09planning their iron viz competition entries
17:12, and have just realized how to start again,
17:16because this has just come out of nowhere
17:17and change the odds of the possible. So
17:20if that's you, I feel sorry for you. But
17:21nonetheless, that's pretty much it. Okay,
17:23we're going to stop here. That's pretty
17:24much the end of the video. Let me know what
17:26you've done
17:26with this capability in the description
17:28below. Once again, I am making other videos
17:31on 22.3.
17:32It's a little slower than normal, because
17:33we only got our hands on it two days ago,
17:35the pre release wasn't as good. So we
17:37couldn't see some of this stuff in advance.
17:39So yeah,
17:40check out the other videos in this playlist
17:42for this video. And yeah, if you're not
17:44subscribed,
17:45subscribe, let me know what you think of
18:00the video in the comments. And I'll catch
18:00you in the next
17:48video. Hey, it's Tim here. It's not very
17:56often that features start again.
18:00Transcribed by https://otter.ai
18:05[ Silence ]
This exciting capability allows you to control views or containers using a parameter or field. Swap charts, zones or even whole dashboards is now easier than ever. Tableau Release Notes:With dynamic zone visibility, you can tailor experiences for your end users, so they only see the dashboard elements relevant to them. Create sophisticated and interactive dashboards that dynamically reveal dashboard elements. In the layout pane, you configure when dashboard elements are shown or hidden based on the values of parameters and fields. More information is here. https://help.tableau.com/current/pro/desktop/en-us/dynamic\_zone\_visibility.htmJoin this channel to get access to the perks:https://www.youtube.com/channel/UC7HYxRWmaNlJux-X7rNLZyw/joinTimestamps0:00 Intro 0:25 A basic example in Tableau4:27 Control containers in Tableau6:55 A more complex example of zone visibility12:10 Add the parameter Action14:47 Community Examples17:27 Bloopers & Outro#tableau #salesforce #analytics #dataFollow me on Twitter: https://twitter.com/TableauTim My recording gear & what’s on my desk. https://kit.co/TableauTim/desk-setup My website: https://www.tableautim.com/ My Screen Annotation Tool: https://j.mp/3HWc4MjMy technology Channel: https://j.mp/3F0d28fShare feedback and Suggestions: https://tableautim.canny.io/suggestions -