0:00In 22.1, Tableau introduced something
0:02called the Workbook Optimizer, essentially
0:04a series
0:05of tests and checks that Tableau does to
0:07make sure your workbook is optimized for
0:09production.
0:11In 22.2, they're adding five additional
0:14tests to that feature.
0:15Let's get started.
0:16So I've just recorded a video about the
0:18extension gallery inside of the product,
0:20and I was looking
0:21at an accelerator built on my colleague
0:22about Tableau server.
0:24That's what's open here.
0:25And I've actually run the Workbook Optim
0:27izer, and you can see here that there are 17
0:29tests.
0:30If I switch to a previous version of Table
0:32au, you can see there's actually 12 in the
0:34past.
0:34So there's five additional tests.
0:35Now, I didn't know a way to easily figure
0:37out what these changes are.
0:39I'm not looking at the release notes.
0:40So what I did is I essentially took a
0:42screenshot of all the features, and I put
0:44them on one
0:45page.
0:46And so if we actually go through this, it's
0:47much easier to see what's going on.
0:49In essence, the first screen gap is from
0:50the newest version of Tableau, 22.2.
0:53The second one is from 22.1.
0:55And so we can go through each of these
0:57sections for the same workbook and see
0:58which tests
0:59are new.
1:00So let's first start with the very top
1:03section here.
1:04There's obviously nothing new in terms of
1:05things that have failed in this workbook.
1:07So there's no new check that's coming up
1:09with a red issue here.
1:10However, if I go to the next section, you
1:12can see that the very top we have four,
1:14whereas
1:15before we had three, which means there's
1:17one new test.
1:18And if we just go down the list, you can
1:20see that the newest option here is a test
1:21that
1:22checks whether it's used a date calculation
1:24or not.
1:25If I go back to the products and I go back
1:27to the new test here, I can actually expand
1:29this and look at that piece of text.
1:31And it says here, the date source new audit
1:33tables contains nine day calculations.
1:36Date logic can be complicated, minimize the
1:38amount of day calculations and conversion
1:40you have to do in Tableau.
1:42If necessary, use date pass and make date
1:44before other methods and try and use built
1:46in functions like date diff when possible.
1:48If filtering on date, use relative date
1:50filters as a continuous date filter instead
1:53of a discrete
1:53filter.
1:54Essentially, those perform a little bit
1:55better.
1:56So there's a little bit more context to how
1:58this all works.
1:59And again, if I click on the learn more
2:01capability, it takes me to this page, which
2:03Tableau have
2:03sort of been updating over time.
2:05So I think they're going to add more and
2:06more of these tests.
2:07You can see it's still got the
2:09documentation for the previous version of
2:10Tableau, but this
2:11will be updated for the newest version and
2:13should have the notes about the new test
2:15there
2:15as well.
2:16So the first test uses day calculations.
2:19Let's switch back to our list and let's try
2:21and find the next one.
2:22Obviously, I've got nothing else in Amber,
2:25but if I go over to the green section, the
2:27new version, I got 11 that passed and in
2:29the previous version, I got seven.
2:30So that means there's four new tests in
2:32here that we need to find.
2:34So let's go ahead and try and look at these
2:35.
2:35The first one is number of data sources.
2:37That's exactly the same unused data sources
2:40.
2:40My hunch is actually these are all going to
2:42be at the bottom.
2:43If I go right to the bottom number of
2:45filters.
2:45You can see that all the checks just being
2:48added in a sort of sequential order.
2:51They're right here at the very bottom.
2:52So if actually I went to take a screenshot
2:54there, what I actually meant to do is annot
2:55ate
2:56these like this.
2:57So the four tests are users data blending,
2:59dashboard size not fixed, live data
3:01connection
3:02and users groups.
3:03These are actually really important ones.
3:05I'm surprised some of them didn't make it
3:06to the original release, but here they are.
3:09Let's go take a look and see what those
3:10tests actually do.
3:11Let's go to the right version of Tableau as
3:13well to do that.
3:14Let's open up the 11 that pass and go right
3:16to the bottom.
3:17Let's start by looking at users data
3:18blending.
3:19So if I open up that one, the workbook
3:20follows best practice for this guideline.
3:22So it's working perfectly fine.
3:24But the text reads this data blending
3:27performance is driven by the number of
3:29unique numbers
3:30in the linking fields.
3:31Consider using relationships when possible.
3:33If a blend is required, try to use low
3:35cardinality linking fields.
3:37That makes a lot of sense.
3:39Try reducing the amount of blending because
3:40it's a very resource intensive way of quer
3:42ying
3:42your data.
3:43Dashboard size not fixed.
3:46Now I come across dashboards that have
3:48changing parameters all the time.
3:50And I always tell clients, hey, you do know
3:52that you are incurring a performance
3:54penalty
3:54by doing this and they don't understand why
3:56.
3:56And essentially I have to start explaining
3:58really weird concepts about Tableau server
4:00and caching.
4:01But the short story is this.
4:03If your dashboard doesn't have a fixed size
4:05, Tableau can't create a cached copy of that
4:08workbook because it doesn't know what size
4:10screen the user is going to have.
4:11So what it does is it basically renders the
4:13visualization new every single time,
4:15stopping
4:16it from being fast and performant.
4:17If you go to a typical website, what
4:19websites typically do is actually store
4:21most of that
4:22information in cache.
4:23They don't render it new every single time
4:24someone visits because that takes a lot of
4:26computing power.
4:27Same here.
4:28If you don't have a fixed dashboard size,
4:30it's not going to allow you to use the
4:31caching
4:32capability that works on Tableau server or
4:34Tableau cloud.
4:35So that in turn leads to performance issues
4:38.
4:38And you can see here that Tableau have
4:39added it to the checklist.
4:40That's something really good to be aware of
4:42.
4:42Now it's a check in the optimizer.
4:44Live data connection.
4:45The workbook follows best practice for this
4:47guideline.
4:48Tableau extracts are designed to be as
4:50efficient as possible for use with
4:52analytics.
4:53Using extracts is one of the easiest ways
4:55to improve performance due to the data
4:57source.
4:57Extracts also have more native features for
4:59optimization.
5:00So essentially just hinting to people that,
5:02hey, you've got a live connection, try
5:03using
5:03an extract instead.
5:04And I also do tell people there's quite a
5:07lot.
5:07Extracts should normally always be the best
5:09performing data source.
5:11Even if you have a rip raw, fast database
5:13in very few circumstances, will an extract
5:16perform slower?
5:17So just bear that in mind.
5:20Users groupings.
5:21This is the final test.
5:22Tableau's native grouping functionality
5:24loads the entire domain of the field, which
5:26can
5:26have a performance impact.
5:28Using a calculated field with a case
5:29statement to group instead can have better
5:31performance.
5:32So we're not using grouping here, but
5:34essentially it's saying there's a couple of
5:35capabilities
5:36here in SQL that perform a bit better than
5:38the way the native grouping functionality
5:41works.
5:42So you might be getting a few performance
5:44benefits by doing grouping in a specific
5:45way.
5:46Again, once the documentation is out on
5:47this, you'll get a lot more detail when you
5:49click
5:49on that learn more option.
5:51So that's all the new optimizer checks that
5:53are being done in 22.2.
5:55Let me know what you think of those checks.
5:57What checks are still missing?
5:58Let me know in the comments below and I'll
5:59catch you in the next video.
6:01Thanks for watching.
6:01[BLANK_AUDIO]