ICU & QT UPDATES - New in Tableau 2022.2
Two library updates are quietly slipping into Tableau 2022.2, and if your filters or sorting suddenly look weird, this is probably why.
- The ICU library upgrade (from ICU44 to ICU68) governs how Unicode characters, alphabetical order and locale-specific sorting behave, so filters, sorts and ranges may shift in some languages.
- Chinese, Japanese and Korean (CJK) languages are most affected by the ICU change; English users are unlikely to notice much difference.
- Watch for inconsistencies in search, regex, locale formatting of numbers, times, currencies and temperatures, especially where logic relies on data persisted in a consistent sort order.
- The QT library is a third-party cross-platform framework Tableau uses to build its desktop interface across Linux, Windows and Mac; upgrading it can introduce rendering and UI defects.
- You can dig into the standards yourself at icu.unicode.org and qt.io, where Tableau is listed as a named QT customer.
0:00Hey it's me here in 22.2, Tableau are
0:02updating the ICU and the QT libraries that
0:06are contained
0:06inside of Tableau. This essentially has an
0:09impact on filtering and sorting and a bunch
0:11of other
0:11things depending on the language and
0:13country you're coming from. If you don't
0:15know what
0:16anything I've just said is about, let me
0:18tell you. Let's get stuck in. So for the
0:20first time in a
0:21while I'm actually doing a video without
0:23Tableau or Tableau Prep or any Tableau
0:26product because
0:27I've essentially got the notes from the pre
0:29-release which explains this pretty well.
0:31Let's first start with the ICU updates.
0:33Essentially the ICU stands for
0:35International
0:36Components for Unicode. This is actually a
0:39specific library of information that's
0:42provided
0:43by a standardized body. Now the reason this
0:45is important is because in different
0:48languages
0:48the Unicode characters and the way we form
0:52words and letters behave in completely
0:55different ways.
0:56An example might be, let's say you're
0:58ordering things using alphabetical order.
1:01Well in English
1:02that's from A to Z but in other languages
1:04the alphabetical order doesn't work the way
1:07maybe
1:08you and I would expect. The additional
1:10thing is that if you look at data in
1:12different contexts,
1:13let's say you're sorting things like a
1:15phone book, the alphabetical order in a
1:18phone book or the sort
1:19order in a phone book might be different to
1:21the sort order in a piece of text for
1:23example. You
1:24might have different contexts for sorting
1:25in different ways and essentially what the
1:27ICU
1:28library does is it creates a standardized
1:30body of all of that information that's
1:33specific to locales
1:35around the world and languages around the
1:36world. And what Tableau have done is they
1:38've updated that
1:39library for security reasons inside of the
1:42product. Now the net effect of that is that
1:44because this
1:45update is being done now you could see
1:48changes in the way that localization
1:50filters, calls and
1:52ranges work specifically inside of Tableau.
1:54Let's say every time you prick a drop down
1:56filter
1:56in certain languages they might be a change
1:59and what I did is I grabbed the table that
2:01was
2:01included in the pre-release notes that
2:03actually details the specific things to
2:05look for for
2:06different languages. So I'll just put this
2:08up on screen now you should hopefully
2:09already be able to
2:10see it. You can see here there are some
2:12languages where this has a bigger impact
2:14than others.
2:15Mostly the Japanese and the Chinese or
2:17Korean languages where there's a lot of
2:20change there
2:21but nonetheless if you see anything weird
2:23happening with filtering or sort of
2:25anything like that this
2:27is exactly what to expect. Now what I hope
2:30the release notes do go on and share is a
2:33little bit
2:33more detailed information like I've got
2:36here. So we do get a little bit more of a
2:38breakdown and this
2:40specific example the most notable changes
2:42between ICU44 and the one that Tableau is
2:44moving to which
2:45is ICU68 are the updates to the local
2:48correlation tables. Here are a few things
2:50to look out for.
2:52A logic that expects data to be sorted in
2:53particular order or to function correctly,
2:56any sort of data that is persisted, any
2:58data that is persisted that relies on data
3:00sorted in a
3:01consistent way. These are essentially just
3:03things to go look out for and there are
3:06sort of different
3:06contexts for this as well so search, regex,
3:10specific locale formatting, numbers, times,
3:13currencies, temperatures. This is the kind
3:16of stuff that can kind of drive you up the
3:18wall
3:18if you don't understand there's something
3:19else going on. You think something is
3:21always sorted
3:21in a specific way but it just so happens in
3:23your business there's that one use case
3:25that's super
3:26important where it needs to sort another
3:28way and actually this might come to the
3:30fore when you're
3:31looking at this particular set of updates.
3:33So I'm not an ICU expert, I'm definitely
3:35not a character
3:37expert either, I'm not part of the Unicode
3:39standards body so what I would recommend
3:42you do
3:43is you go over to the website there's
3:45actually a dedicated website icu.unicode.
3:48org and you can go
3:49ahead and look for the standards so Tableau
3:52have gone from 44 to 68 I believe so let's
3:55see I think
3:56this is yeah here here's a text where they
3:58specifically highlight what they're going
4:00from
4:01and to and so you can go and look at the
4:03differences there and what this body does
4:06is they
4:06actually highlight the importance of it and
4:08what impact it has if you want some proper
4:11documentation
4:11and you have a bit more time than I do to
4:14go into real depth this this is what you'll
4:16see.
4:16I think for most people in the English
4:18language you won't see much of a difference
4:22I don't think
4:22there'll be a huge difference it seems to
4:25be affecting a specific subset of languages
4:28in this
4:28particular case it's CGK otherwise known as
4:31China, Japanese and Korean that are most
4:34affected by this.
4:35Okay now the other change is the QT library
4:38so what is a QT library lots of terms here
4:41now
4:41Tableau develops software as you know and
4:43they like to probably not have to develop
4:46things
4:46multiple times so what they do is they use
4:48this library called QT allows them to build
4:51software
4:52in one place and then deploy it in multiple
4:54different places so the QT library
4:56essentially
4:57a third-party tool that is used for
4:59creating the graphical interface that we
5:02know for Tableau
5:03it allows them to build cross-platform
5:04applications and a bunch of other things
5:06that supports Linux,
5:07Windows and Mac. The change here is that
5:09Tableau is updating its internal library
5:11for the QT
5:12framework and that means it's going to have
5:14an impact on what we see in desktop.
5:16Now the only real warning for this is that
5:20when you have upgrades you do see defects
5:23throughout the product which is not really
5:26that helpful and while many of these
5:29defects are
5:30associated with rendering of the
5:32visualization or native UI elements feature
5:34specific defects are
5:35not uncommon because the upgrade also
5:37includes a newer version of chromium web-
5:40based UI and
5:41features are likely to present defects as
5:44well so basically if anything looks weird
5:48this might be
5:48the reason in 2022.2. I like that they're
5:51sort of I feel like this is being snuck in
5:53there as a
5:54feature hey we've upgraded this thing but
5:56it's going to cause a bunch of defects that
5:58's typically
5:59not a feature that's that's that's you know
6:02that does sort of make sense but it's in
6:04there in the
6:05notes as a feature re-release what I'm
6:08hoping is we see benefits from these new
6:11libraries being
6:11implemented again if you want to go check
6:14out what QT is who else uses QT you can go
6:16to the
6:16qt.io website if you actually go down you
6:19'll see that Tableau and a bunch of other
6:22companies are
6:23noted as you know big users so Sky, Perjo,
6:26Rockwell, Automation, Tableau, LG, Mercedes
6:30,
6:30Benz and it's used in lots of different
6:33contexts Tableau I don't think use every
6:36single part of the
6:36QT framework but yeah it's absolutely
6:39something that Tableau does use to the fact
6:42that they are
6:44a named customer on the QT web page and it
6:46basically talks about business intelligence
6:50and analytics and what they're using QT to
6:52do so if you want to know more about that I
6:54'll put the
6:54link to both this and the ICU stuff in the
6:56description so you can go find out more but
7:00the
7:00general message here is look out for quirks
7:02look out for bugs look out for things that
7:04don't look
7:04like they should or behave the way they
7:07should it might be be caused by the ICU or
7:10the QT library
7:11updates thanks for watching I'll catch you
7:14in the next video
7:15you
7:18[ Silence ]
Tableau is updating the versions of ICU and Qt libraries for security reasons. This could have impact on localization, filters, calls, and ranges
00:00 - Start 00:33 - ICU UPDATES 04:36 - QT Updates