This one is great for advanced developers and beginners alike. It’s a fast way to create a table calculation Calculated Field without having to actually think about it.
For beginners that’s great because you can see how these calculations are built so you can learn how to build your own custom ones.
For advanced developers, it’s a huge time saver when re-using table calcs in your worksheets. 2 minute video provided below.
Quick Tip: Drag and drop your Table Calc on your worksheet canvas to the fields in your data pane
There are only more and more features coming out for Tableau Desktop, Online, Prep, etc. It’s becoming a more difficult discipline to be an expert in. Just keep working!
One last note… I run a company called MergeYourData.com. We provide fully capable data teams to companies for the price of one full-time employee. If you’d like to come build Tableau solutions for us or contact us about a project you had in mind, please visit www.mergeyourdata.com
Processing…
Success! You're on the list.
Whoops! There was an error and we couldn't process your subscription. Please reload the page and try again.
After working with Tableau’s clustering capabilities for a while, I came across a situation where all my saved clusters disappeared after refreshing extracts.
Well… the saved cluster didn’t disappear, it just all turned the same color and didn’t cluster.
Unfortunately I haven’t remembered every page of Tableau documentation yet so I got tripped up. But the fix was simple, and here it is.
Quick Tip: Right-click your saved cluster and select Refit.
This is truly a quick tip, but might relieve some panic when your data refreshes and all your beautiful clusters get washed out.
A Final Note
If you haven’t jumped into Tableau clustering before, there are some really good blogs and documentation around it. Here are a few links:
Do you work with large non-local data sets? For example, something like a live connection to Snowflake or SAP HANA?
If so, you’ve come across frequent loading screens when you switch dashboards or worksheets. This is when Tableau is querying the data source again to grab the most up-to-date data.
Think about how much time this wastes while developing dashboards! Especially if you have a dashboard that has a decent number of worksheets. Then we’re talking about several seconds of querying and loading.
Even if you haven’t run across this yet, read this quote straight from the horse’s mouth (Tableau):
If you’re working with a complex view or a very large data source, refreshing data can take a long time.
Here’s a quick tip on how to avoid this and develop in Tableau more efficiently.
Quick Tip: Pause Auto-Updates for your data source
The setting allows you to pause updates on the dashboard, on the worksheet, and on the filters. So you can control which components are kept up-to-date. And if you want to force an update, you can always do that without turning back on auto-updates.
This is also applicable for users exploring dashboards. Tableau Online and Tableau Server will allow a person viewing the workbook and/or a person editing the workbook in the browser to pause the data source for increased performance.
Make sure to read the documentation to see how Tableau handles this setting while publishing workbooks.
It’s time for another Quick Tip in Tableau Desktop!
Have you ever had a pesky data set in Tableau that has Year, Quarter, Month, Day, Minutes as separate fields? This structure can be useful for certain analyses, but a pain-in-the-butt for other analyses that just need a single regular date field.
Have no fear! There is a simple fix for this.
It’s called the MAKEDATE function and it helps you make a date out of the fields you have.
Here’s a quick, soundless video that shows the function:
It’s as simple as this: MAKEDATE(year, month, day). That’s it. Now you have a continuous date field that behaves how you would want your date data to behave.
A Final Note
Tableau can actually “MAKE” a bunch of useful calculated fields that enable tons of analyses. I like to call these the MAKE-it-happen family… mostly because I can’t think of a better name (suggestions are very welcome). They include:
MAKEDATE
MAKEDATETIME
MAKELINE
MAKEPOINT
MAKETIME
They’re transformative both literally and figuratively by enabling developers to convert data directly in Tableau. Things like MAKEPOINT and MAKELINE had to be done outside of Tableau back in the “good ole days”. But fortunately, it turns out that we’re in the good ole days right now and they keep getting better! Queue a great The Office quote…
Thanks for reading!
Processing…
Success! You're on the list.
Whoops! There was an error and we couldn't process your subscription. Please reload the page and try again.
Sometimes Tableau’s UI can be misleading. If you’ve had the NULL values indicator pop up in the bottom-right corner of one of your worksheets, then this is one of those misleading times.
A simple click on the indicator would suggest there are two options to handle NULLs. The first would be to filter the data. The second option is to show data at the default position.
This window is standard for non-geographic worksheets. Geographic worksheets will instead show this window:
But there are actually other options available outside of these!
The Quick Tip
Let’s say you want to leave everything as-is, but don’t want to have that ugly NULL bubble in the bottom right corner of your worksheet view. The way you can do that is LITERALLY THE EASIEST THING EVER. Yet I didn’t learn this until a couple years until my Tableau journey. Ok, now don’t be mad when I tell you this…
Right click the indicator and select Hide.
Yup. That’s it. Here’s a gif of me doing it:
Be aware that Tableau will choose the specific behavior of hiding the indicator. This means that for something like line charts, it could hide the indicator and keep the line connected. But if you wanted to control that behavior and break the line instead while hiding the indicator, you can use the method described below.
Another NULL Formatting Tip
There’s an additional method to handling NULL values in Tableau. This involves changing the formatting of the specific field.
Right click any field, and select Format.
Click on the Pane tab of the Format window.
At the very bottom you’ll have a Special Values section for Text and Marks. Here you can enter an alias for the text values or select from one of four dropdown options for the Marks.
That’s it. Hope this tip helps! Please send me an email (dan@mywebsiteURL) if this post helps or if there are other topics you’d like covered!
Processing…
Success! You're on the list.
Whoops! There was an error and we couldn't process your subscription. Please reload the page and try again.
Making the leap from beginner to intermediate, and intermediate to expert in any skill requires attention to small details. This includes paying attention to nuances in the way the skill is conducted. Tableau development is no different. What are some ways that a Tableau developer can hop into the next echelon of skill? I’ve compiled five of my favorite quick tips to speed up your workflow and take development to the next level.
1. Using a template workbook for common formulas, dashboard layouts, etc.
Unfortunately (or fortunately), you’ll be doing a lot of the same type of stuff while building different workbooks in Tableau. Certain things are done in many dashboards, things like:
Certain calculations
Year-Over-Year
Year-To-Date
Month-To-Date
Percent difference
INDEX( )
Certain views
BAN (Big Ass Numbers)
Highlight tables
Customized maps
Dashboard layouts
There are a couple methods you can use with template workbooks to be more efficient. First, you can swap out the data source and replace fields with your desired data source fields in order to use the template workbook exactly as it is. Secondly, you can copy and past specific calculated fields, parameters, sheets, dashboards, and more from the template workbook into the target workbook.
This methodology really comes in handy when building more complex visualizations. Things like radial bar charts, Sankey diagrams, waterfall charts, etc. These can be time-consuming builds that aren’t frequently created, meaning it’s difficult to get efficient at building them.
2. Using the control key (or command key for Mac) to duplicate things and select multiple objects instead of the context menu
Did you know Tableau let’s you duplicate and select pretty much anything using the control/command key?
Press and hold it while clicking and dragging a pill in order to duplicate it.
Press and hold it while clicking and dragging a pill onto one of the marks cards (color, size, etc.) in order to duplicate it as a different mark attribute.
Press and hold it while clicking and dragging a worksheet to duplicate it.
Press and hold it while clicking and dragging a dimension in the data pane to the measure area in order to create a count of that dimension field.
Hold control/command while clicking on worksheets, fields, or pills to make bulk actions
3. Utilize context menus instead of the menu bar
You might be tempted to create and edit calculated fields, format specific fields or elements, and do other things using the menu bar. It’s more efficient though to use context menus in their localized areas.
For example, right click on a field in the data pane and then click “Calculated Field in the “Create” menu in order to have the context field inputted into the calculated field formula window. A parameter would be similar in function. Basically a contextually created parameter would be automatically configured with that field’s relevant values as the list of values for the parameter.
4. Drag and drop things instead of using context menus
This tip is usually targeted at beginners. To remove pills from the view, there is no need to right-click each pill and then click remove. Instead just click and drag the pill out of the view to remove it. Use control/command to select multiple elements (or shift to select multiple sequential elements) and drag them off the view to remove them.
On a similar note, you can drag and drop fields onto specific parts of the view (columns, rows, marks, filters, pages, etc.) in order to get the desired visualization. Double clicking a field to add it to the view and then moving the field around can be much less efficient.
5. Copy and Paste Formatting
Make a change to one of your bar chart views? Need those changes in all of your other bar chart views in the workbook? Don’t event think about repeating the formatting manually!
Tableau offers a great functionality to copy and paste formatting, just like in Excel. Simply right click the target worksheets.
Did you know that Tableau Desktop has the option to filter the data pane by field types on top of just their names? With the introduction of data models in Tableau Desktop, I see a lot of users frustrated with the seemingly crowded data pane. Before the data model, you used to have dimensions and measures in separate sections in the data pane, but now everything is grouped by tables of your data source. The good news is that Tableau actually still has an intuitive way to quickly see the fields you need.
As of 2020.3 you can filter your searches by 4 different queries:
C: filters for calculated fields
M: filters for measures
D: filters for dimensions
F: filters by comments
By typing C: or any of the other options at the beginning of your search, you’ll filter all of the fields based on that category. After the type filter, just put the field name you’re looking for to filter further.
There are technically two ways to filter your searches. You can manually type in the values above, or you can use the filter button located to the right of the search bar. Take a look at the GIF below to see.
This has been a quick tip that will hopefully make your Tableau Desktop development workflow a little easier. Make sure to check out the other quick tip articles to level up your development!
Looking to speed up your dashboard development and add a personal touch to your dashboards? I’ve got a quick and easy tip for you. Make your own custom color palettes! Tableau Desktop allows you to modify the preferences file (found under My Tableau Repository and named Preferences.tps). You can open this file and modify its code to set up your own color palettes. Check out Tableau’s great documentation on how to set up these palettes here: https://help.tableau.com/current/pro/desktop/en-us/formatting_create_custom_colors.htm
You can set up categorical, sequential, and diverging palettes to fit any type of dimension or measure you’re looking to add a specific color to.
This will take forever to set up a custom palette, how can I do this faster?
I’m glad you asked! If you have your color palette defined, skip this section. Otherwise, check out two awesome tools that help you generate Tableau tps files with custom palettes. These generators can take images, have predefined palettes, or allow you to build the palette one by one. Just keep in mind, there is a limit of 20 colors on a palette as of 2020.3.
All you’ve gotta do is download the generated tps file, replace your existing one in your “My Tableau Repository” (just make sure you don’t have any existing customizations in there).
Bonus tip: Set the default palette to dimensions or measures in the data pane.
For both dimensions and measures, you can set the default colors for each field so you don’t have to reconfigure it on each worksheet. By right-clicking on the field, you can go to the default properties and select “Color”. Check out the short GIF I created below to see that process.
I hope this makes your development a little more efficient and enjoyable. If you enjoy the content, subscribe below to get notifications of new blog posts. I might do a giveaway soon, who knows…
Processing…
Success! You're on the list.
Whoops! There was an error and we couldn't process your subscription. Please reload the page and try again.
If you’ve ever developed KPIs or BANs on a Tableau dashboard, there’s a chance you’ve also implemented color indicators for those numbers. Green being good, red being bad, and gray being neutral. This color indicator might also exist in your bar charts to show YoY changes or whether a goal was met for a specific metric. These indicator calculated fields can also be used to assign shapes like directional arrows, emojis, or any other shape. Whatever the case, there’s something I see beginners doing relatively frequently (and even some more experienced developers) that is additional work for no reason.
Using the Superstore data, it’s usually something like this:
Old Way to Color Things
IF SUM([Sales]) - LOOKUP(SUM([Sales]),-1) > 0 THEN "Increase"
ELSEIF SUM([Sales]) - LOOKUP(SUM([Sales]),-1) < 0 THEN "Decrease"
ELSE "Neutral"
END
or
IF SUM([Sales]) - LOOKUP(SUM([Sales]),-1) > 0 THEN TRUE
ELSEIF SUM([Sales]) - LOOKUP(SUM([Sales]),-1) < 0 THEN FALSE
ELSE NULL
END
The first version should be avoided because it uses strings in the calculated field. Strings perform slower than integers and booleans and will start impacting dashboard performance the more complex your data and dashboards get.
The second version isn’t too bad (and the equivalent using integers as the resulting values), but still makes calculations more verbose than necessary.
So how you should you achieve this desired indicator functionality?
Using the SIGN function you can achieve the same results with a single line.
New Way to Color Things
IF ZN(SIGN(SUM([Sales]) - LOOKUP(SUM([Sales]),-1)))
It automatically assigns a -1 for negative values, 0 for zero values, 1 for positive values and null for records that don’t evaluate. You can wrap the SIGN function around your entire calculation. On top of this, I would suggest wrapping that SIGN function with a ZN function like in the example. The ZN function will return the expression if it is not null, otherwise it returns a 0 value. Essentially this will eliminate null values from your SIGN function. Sometimes the null is desirable (you want to color specific marks that don’t evaluate) and sometimes you just want to color all null marks the same as zero.
The dashboard below is best viewed on a PC or tablet, but there is a mobile view for it as well.
What are the drawbacks?
Since you’re using a whole number as a data type, you can’t easily edit the aliases to make a human-readable string. Obviously making a human-readable string brings us back to the string data type which could negatively impact performance on large data sets. You could use the SIGN function calculated field in another calculated field to represent -1, 0, and 1 as your desired string. This isn’t the best to do either because now you’re nesting calculations and making the workbook a little more complex for the poor soul who inherits it in the future (very likely your future self).
One way to get around this is to just make a dummy legend that shows the color of the SIGN calculated field and what it pertains to (increase, decrease, steady). This won’t give a text value in the tooltip unfortunately, but that shouldn’t be necessary.
TL;DR
Use the SIGN function instead of IF ELSEIF functions to significantly reduce your calculation length. Wrap it with ZN if you only want three indicators (-1, 0, 1) or don’t wrap it with a ZN function if you want four indicators (-1, 0, 1, and NULL).
Pros: Simpler and less verbose calculated field, whole number data type for better performance than strings
Cons: Results in whole number so can’t directly alias
I hope this makes your development a little more efficient and enjoyable. If you enjoy the content, subscribe below to get notifications of new blog posts. I might do a giveaway soon, who knows…
Processing…
Success! You're on the list.
Whoops! There was an error and we couldn't process your subscription. Please reload the page and try again.
There are hundreds of blog posts, articles, and checklists about improving Tableau dashboard performance. I personally don’t like reading through lengthy posts, watching long videos, or drilling through checklists just to have a list of 100 things to check. So I’ve compiled the five most impactful performance tips to make your dashboards run faster instantly.
1. Change data sources from Live to Extract
If you don’t absolutely have to use a live connection, don’t. Tableau’s Hyper is a best-in-class data engine, use it. You’ll see faster dashboards instantly in 90% of cases.
2. Minimize the number of marks on your dashboard
500,000 marks on your map of the United States is going to take a few seconds. 500,000 marks that use calculated fields is going to take even longer. Only show the most relevant data and know what to exclude. This means not dragging every dimension in your data onto the canvas.
3. Simplify your calculations, remove or reduce nested calculations
If you’re referencing a calculated field in a calculated field, your performance will degrade. Once your data gets to a certain size and your 5 nested calculations deep, you can kiss your UX ratings goodbye. If you can, try to reference terminal fields in a calculation, even if that means making one big calculation. Just pay attention to your aggregations and order of operations.
Use REGEXP for string calculations if you can. By doing this you avoid Tableau having to do something like a CONTAINS calculation multiple times.
If you can’t use REGEXP formulas, use CASE expressions rather than massive IF statements with a bunch of ORs.
4. Reduce the number of worksheets on your dashboard
Either split off your worksheets into different dashboards, or find a different way to communicate your message with less worksheets. The more marks and worksheets on your dashboard, the more processing Tableau has to do. Aim for 5 or less as a rule of thumb.
5. Use filters, not too much, and don’t set them all to “relevant values”
Ok, so this one is probably the most difficult for me to follow when building. But it’s easy to remove filters for a quick performance boost. If the filter doesn’t absolutely need to be there, get rid of it. If it doesn’t have to be relevant, don’t make it “relevant values”. It just adds to what Tableau has to calculate and render, which adds precious seconds to load time (especially with large data sets).
I hope this gave you a quick win in making your dashboards faster. Have any other really quick tips to make Tableau faster? Feel free to comment them below, I’d love to learn.
Enjoy the content? Subscribe below to get notifications of new blog posts. I might do a giveaway soon, who knows…