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 ]