Category Archives: Tableau
Here’s a feature that’s been unofficially around for a while on Tableau Server, but is now supported on Tableau Server 10.
We’ve all got Tableau Servers that look like this. Lots of projects which we have access to, and all pretty boring looking.
Wouldn’t you prefer that it looked like this instead?
Now you can.
In Tableau 10, it is official that you can add images to Projects, and the technique is backwards compatible too (at least with 9.3)
There’s an old article from Russell Christopher here about an unsupported way of doing this, but it’s great that it’s now supported.
Let me show you how…
Go to the Project Details, and Edit the Description
Enter the URL of the image file that you want to be displayed, with a leading and trailing “!”
Click on Save and Voila!!
For those that like to have their image files close to home, you can store them on your Tableau Server.
Copy the image files to
Then it’s just the same process as above, but you only need the file name.
This works with PNG, JPG and (if you must) GIF (and probably other file types too)
You may have to spend some time playing around with image sizes and alignment to get it looking nice.
Tableau 10 is coming. The U.S. roadshow is already having quite some buzz. The European Roadshow is about to kick-off. What is new in Tableau 10? The list of new features is long. The community excited … so it seems. But were the wishes of the community heard?
Tableau 10 Is Coming
We are all loving Tableau for its core competency: elegant visualisations of any type of data. Tableau shines in that regard. But is that all? Tableau’s dev task is to grow in the enterprise world, without losing the strong community aspect of course. The democratisation of data analysis needs to be scalable and at scale IT needs to control security and infrastructure. I agree with Surya Mukherjee, that Tableau can safely be recommended to large enterprises.
Tableau’s active community posts enough ideas on how to improve the already lovely piece of software. Furthermore, the community can vote and discuss your idea. The engagement is great. About 4356 ideas have made it to the board. On a small sample of the Top 200 ideas per vote count, the average number of votes is 182.
The average idea is viewed 11232 time and has 21 replies. What am trying to say? There is engagement. The community is interested and active in discussing new features.
The interesting question looking at the major release of Tableau 10 is: Are the new features community driven? Is Tableau able to walk the thin line between community wishes and their own ideas of how the future of an enterprise ready Tableau looks like?
With this question in mind, I set out taking the beta and comparing the features of the latest beta 4 and what the community is wishing for.
Working Across Data Sources – A Community Wish
My personal favourite new feature? Cross data source join and in line with this the new cross data source filters. It was possible before. Using parameters. But as parameters are not dynamic and could only have a single value, their possibilities were limited. Things will change now. For the better:
Working with different data sources in a single view becomes drastically easier. So, is this a feature the community was looking for? Indeed it was. Several ideas are directly stated this feature. Others wished for workarounds like dynamic and multi-value parameters. Dynamic parameters would enable more than improving cross data source filtering, meaning that not all 1850 votes for dynamic parameters will be completely pleased. But the cross data source join is a much more elegant way to solve the filter issue:
Therefore, cross data source join and filter are the community most wanted features in Tableau 10. They are not the only features that came out of the community.
One feature that was both popular in the community and improves Tableau Server from the admin’s perspective is the ability to subscribe other users’ to workbooks in Tableau Server. Before, each user had to subscribe themselves. The 330 votes for this idea will be happy about this feature and definitely approve it as a community wish. For an enterprise implementation, this is a feature that cannot be missed.
At least 12 features in Tableau 10 are features that are directly or indirectly related to ideas from the community. That is an amazing score. Let us have a look at the other side of the balance. Which features make enterprise deployment even smoother?
Helping Enterprise Deployment
For using Tableau at larger scale the new license reporting will come like a sake of heaven. Finally, the Tableau system admin in your organisation can quickly see which licenses are utilised by whom and which need to be renewed. This is not an idea I have found in the forum, but it’s definitely helping Tableau implementations at scale.
The improved revision history is also a major PLUS for larger scale Tableau deployments. Instead of downloading to Tableau Desktop and then pushing back the revised version, now you can go back in time with a single click – directly in Tableau Server.
A more strategic feature is the enhanced web editing. Although the community had a couple of ideas with a couple of votes, the web authoring was greatly enhanced. It is not replacing the Desktop version yet; but with the new possibilities for blending data and creating dashboards, Tableau is moving in a certain direction. A browser-based Tableau version plays into more corporate hand. As version control, licensing and software enablement can easily be enabled by IT.
Overall, it appears that Tableau is indeed listening to the community. Tableau is setting a fast development pace of one major and three minor releases per year. So, it keeps evolving. Customer or community ideas are nice as they give Tableau inspiration on what the customer wants. On the other hand, Tableau should be a product delivering something I did not know I wanted. Some of the features were absolutely necessary and awaited. Some deliver solutions that the community voted on. Other features give a glimpse which direction Tableau will take in the future. As stated here, “land and expand” will soon be over. Tableau is enterprise ready. More and more features underline this.
If you are interested in getting your hands on the exciting new features of Tableau 10, visit us on one of our Tableau 10 workshops! You can meet us in several cities. Click on a suitable location below and secure your seat.
Amsterdam – 6th September
With the imminent arrival of Tableau 10, I thought that it’s time to take a quick look at all the new features and functionality that will be made available with Tableau Server 10.
Firstly, let’s look at the minimum requirements. There is no longer a 32-bit version of Server or Worker Server, so the minimum requirements for the installation of a Tableau Server Environment are now 2 Cores, 8GB RAM, and 15GB Disk space. This is the same minimum requirement for Tableau 9.3 64-bit, but an increase from what was needed on the 32-bit version.
Look and Feel – Blue is the new Black
The user interface has been tweaked ever so gently so that we now have a fetching blue bar across the top of the screen, instead of the old black bar. There have been other subtle tweaks in the look and feel, but overall almost everything is still in the same place as it was.
However, as a server administrator, the navigation between Site Context and Server Context has been changed slightly.
Data source management has been brought into line with Workbooks, so that we now have revision history, usage information and users can have favourite data sources.
You can also change the view for data sources so that you can see them grouped by where they connect to, instead of the data source name
Web authoring has been greatly enhanced. You can now create dashboards online
as well as connect to Published Data Sources, and Filter across data sources.
Additionally there are the following enhancements
- Blend Data Sources
- Rename fields
- Workbook formatting
- Data highlighting
- Show and hide cards for captions, filters, and highlighters
- Clear or duplicate sheets (for views or dashboards)
- Full support for creating and editing table calculations
Tableau have given us two additional Server Status reports (out of the box)
These are Background Task Delays (shows the difference between when a Task was scheduled and when it ran) and Performance of Views (which shows the overall distribution of loads times)
You can also enable Desktop Reporting using the following tabadmin command, so that you can see the license status and usage of Tableau Desktop within your environment.
tabadmin set features.DesktopReporting true
Subscribing Others to Views
As an admin, you are (finally) able to subscribe a view to your end users, and remove the subscription if required. This means you can select a view, add all those who want to have this emailed to them, and put a schedule against it.
Alerting on Extract Failure
You can now enable alerting on Extract Failure so that the owner of an Extract will receive an email alert if the extract fails. So there are no more excuses for any Extracts being out of date.
When performing an upgrade, you no longer need to run an uninstall. Tableau will now do that for you. Also, you can specify that a backup isn’t required as part of the uninstall process, which for some upgrades will speed things up massively.
New REST API calls
There are a few new REST API calls, so that you can now Manage Workbook and DataSource Revision History, Manage Job Scheduling and Manage View Subscriptions. Also, on some Methods you can add filters to limit how much information is retrieved from a request.
Site Specific SAML
If using SAML authentication, you can make this site specific, instead of for the whole server. This means that some sites on your Tableau Server can use SAML for single sign on, whilst others will just use normal authentication.
When building a cluster, you no longer require your servers to be part of a Windows Active Directory Domain. A Windows Workgroup will suffice. This is great for cloud based environments, where the necessity of Windows Domain Controllers purely for the use of the cluster was an additional unloved overhead.
Also, if you have a 2 node cluster, you no longer have the option of having active and passive repositories. You will need a 3 node cluster (minimum) for this functionality.
In Tableau 9.x you if you wanted to change the logo of you Tableau Server, you were restricted to one logo. This would appear on the Login Page, as well as in the top-right hand corner of the user view. In Tableau Server 10, you can now specify a logo for the login screen, and separate header logo for the user page, and a mini logo for when using web authoring (as well as be able to change your Tableau Server Name).
This has been a very brief walk through of the new features (and I’m sure that the is some additional functionality that I have missed), but as we get to spend more time using Tableau Server 10, we will be putting out further articles.
Thanks for your time and I hope that you found this useful
A few days ago, one of our clients contacted our hotline because he was struggling with double colouring when building a treemap. It’s true that it can be a bit tricky to get Tableau to do exactly what you want with double colouring, especially when we talk about treemaps.
To know about the basics of double colouring, have a look at this Tableau article.
Double Colouring Made Easier
In this article, we’re going to discover two tricks to make Tableau double colouring smarter and easier. I had a play around and came up with two solutions to achieve our goal:
- The step-by-step, easy-but-unknown Tableau way
- The smart workaround
The Step-by-Step, Easy-but-Unknown Tableau Way
For this example, I created a simple treemap showing the breakdown of my category and sub category sized by sales:
I can easily change Tableau default colours; however, If I add another colour on my subcategory, Tableau automatically assigns back the default green/orange/blue shades and not the gradient of the colour I picked (have a try with the Superstore data if you have not noticed this Tableau phenomenon thus far).
That’s annoying, especially if you realize that you have to manually change the colour of each of the sub elements of the treemap! Before I actually spent some time on it, I thought that this extreme example was the only way (treemap drilled down up to the product level):
So, how to proceed?
The first step is to create the treemap before changing the colours. The second step is to sort the most granular dimension by the ascending value of the measure you’re using (if you do not sort, the colours will be assigned by the alphabetical order, which will result in a weird and meaningless colour distribution):
Why ascending? Because when we assign a colour palette, Tableau will set the lighter shade on the first dimension and continues gradually up to the latest. If you sort by descending order, the first dimension in each category will be the highest value but will be coloured in the lightest shade of the palette you chose.
The third and last step (*** here is the trick ***) is to edit the colour legend and CTRL + select the category/ sub category colour fields before selecting the new colour palette and clicking assign palette:
You can then repeat the process for each category. In this example, it takes three steps instead of 30 when assigning the colour palette!
Tada. Our first good looking, customized and sorted Tableau treemap:
If you do not want to go through all these steps or are not fan of treemaps, have a look at our second solution.
The Easy Workaround
Treemaps are useful if your goal is to show the breakdown of the whole for different dimensions according to a specific measure. In our examples: sales for each category and sub category.
But you can also build a segmented bar chart, which keeps the “breakdown of the whole” concept of the treemap while being easy to understand. You see easily the biggest/smallest of both category’s and subcategory’s sales:
The idea there is to “fake” the double colouring with a dual axis. In the example, we use one axis to colour the dimension (here our category) and the second axis to gradually colour the measure (here our sales). Then, by setting up a low transparency % on the sales colouring (in our second axis), we can achieve a double colouring.
- Create your chart (anything that can be dual axis here can work) and colour it by one of your dimensions. If it makes sense, sort it by ascending/descending order of the measure you’re displaying (here our category and sub category dimensions are sorted by descending order):
- Duplicate it and make it a dual axis:
- On the Marks card, select the axis colored by Sales. Then, click the Color box and choose the Grey Sequential palette. Also, on the Color box, set the Transparency to 30% (you can make it lighter or darker by adjusting the transparency). It should look like this:
Feel free to share your ideas, tricks and the way you’re using double colouring in Tableau.
I joined InterWorks a few months ago and wanted to create my first Tableau Public entry about a topic close to my heart. I came to the UK 15 years ago from China with my parents, who were seeking a better life in the west as economic migrants, and the current refugee crisis resonated with me on a personal level.
Migration is nothing new to humanity, but in recent years this story has sunk into a swamp of despair and dispossession unlike any previously seen. According to the UN, nearly 60 million people are on the run for their lives, stateless and scared, fleeing war and persecution.
It’s easy to dehumanize the refugees when talking about them on the scale of millions, and the difficulty is to remind ourselves of the individuals behind these statistics. A single death is a tragedy – and this was exactly the response of the European nations when the photo emerged of the three-year-old Syrian boy lying face down on the shores of Turkey in September 2015, which caused the somewhat delayed public outcry necessary to bring forth action from many governments.
The increasing acts of terrorism on western soil makes it clear why people politicise the agenda and call for more closed boarders. This knee jerk reaction serves no purpose in the long term, and it draws attention away from the short term crisis. What is necessary is for people to show patience and restraint in responding to these acts of violence, and to demonstrate a level of solidarity towards those most vulnerable.
My hope is that this has been informative and perhaps makes you view the next headline about the refugee crisis with a more reflective approach.
Is there a better way to share your passion for Tableau, learn new things by the hour and touch base with the community than visiting a Tableau Conference? I will let you be the judge of that, but after an amazing conference in London we sure are getting excited and ready for the Tableau Conference On Tour in Munich next week! Keynotes, Hands-On Training, and many Breakout Sessions are a Siren’s call for all data visualisation enthusiasts.
We Will Be There
As a Tableau Gold Partner, in the latest award round being named Training Partner of the Year as well as the EMEA Professional Services Partner of the Year, we would not dare miss it. We are well equipped to handle any Tableau need regardless of geography, and we’d love to chat with you about how to take your data journey to the next level. Simply swing by the InterWorks booth while you’re at the conference and strike up a conversation.
Power Tools For Tableau
Everybody knows that Tableau is the best way to see, analyse and understand your data, and we use it every day. Creating a lot of amazing dashboards can quickly lead to a challenge when trying to manage all that content. So what is the best way to get things done? Some of the most brilliant minds at InterWorks have developed a suite of essentials tools to help users do more with their Tableau workbooks. We call them Power Tools for Tableau, and they truly are a Tableau power user’s dream come true. We’ll be demoing them throughout the conference at our booth, so be sure to come try them out for yourself.
Tableau Your Data, 2nd Edition
The best selling book “Tableau your data!“, written by our very own Tableau legend and InterWorks Director of Strategic Innovation Dan Murray, received more than its fair share of brand new content and updates. If you haven’t seen it yet, feel free to stop by our booth and take a look.
Making The Most Of It
With the multitude of sessions, hands-on trainings and keynotes going on, it can be a bit challenging to work out your personal schedule. And what is there to do in the evenings? To help you get the most out of the conference and your stay in Munich, I have put together this interactive visualisation: just click on the image and start exploring!
Click image to explore the sessions and create your own schedule
See You There!
If you couldn’t tell, we absolutely cannot wait for this year’s Tableau Conference on Tour in Munich. If you’re an old friend, we’d love to see your face again. If this is your first Tableau Conference experience, we encourage you to find us all the more! We love that Tableau have done such a spectacular job of bringing new users into the fold, and it’s our goal to help you get the most out of the software and dive deeper into Tableau’s fantastic community.
In the meantime, discover more about how InterWorks approach the broader data journey at our official Data Journey page. You’re welcome to shoot us your questions now or save them until the conference. We hope you have a blast, and we’ll see you there!
Tableau in the Cloud
Tableau and Google already form a potent mix, as Tableau supports a number of Google’s data sources with native connectors, such as Google BigQuery, Google Analytics and Google Cloud SQL. But as of last month, Tableau Server is certified for use on Google Compute Engine, Google Cloud‘s computing product. With this you can host your very own Tableau Server on a virtual machine in the cloud while having all the advantages of hosting a local Tableau Server – scaling up and out, high availability, failover and so on.
Google Compute Engine
But what exactly is Google’s Compute Engine? GCE, similar to Amazon’s EC2, is an “Infrastructure as a Service” component of the Google Cloud which is built on the global infrastructure that runs Google’s search engine, Gmail, YouTube and other services. Google Compute Engine enables users to launch virtual machines on demand.
Tableau says that getting started only takes a couple minutes, which I want to take to the test – everybody here at InterWorks loves a good challenge. And while I am at it, I am going to pit it against a comparable virtual machine on Amazon’s IaaS called Amazon Web Services (AWS). So, let’s just jump straight in!
Setting up an instance
As we have grown to expect from Google, the web interface of the Google Cloud makes a really clean and solid impression. To get started with our Tableau Server installation we need to complete these three steps:
1: Create a project and enable billing for it
2: Configure the virtual machine
3: Spin it up and connect to it
The instance boots up really fast and I connect to it about three minutes after having started the whole process. So far, so good. My next step takes me to download the current build of Tableau Server 9.3 64-bit, which takes seconds to complete (here’s to Google Fiber), and begin the installation process.
Installing Tableau Server
Very much like starting up the instance on Google Compute Engine, installing a single node Tableau Server in the standard configuration is very straightforward and easy.
The installation wizard checked for the minimum requirements and quickly deemed the GCE instance worthy of living on. Next, I have to choose a standard Tableau Server configuration and continue with the installation process.
Done. Now all I have to do is to set up an administrator account on Tableau Server and I am all set.
Time from start to finish: 11 Minutes! That’s what I call fast.
Performance Test using TabJolt
Why run a Tableau Server if not to upload and share informative and well-crafted dashboards, or to hammer it with requests until it breaks during a load test. We already do the former a lot, and the latter always sounds like a lot of fun to me. So, I published a dashboard, installed and configured Tabjolt, and started to hit the server with ever increasing numbers of concurrent requests.
The tests ran for 300 seconds each and increased the number of simulated concurrent user in increments of five, starting at ten and moving all the way up to 100. I ran all the test two times, testing the same dashboard with both a live Google BigQuery connection as well as with a data extract. And then, mostly to satisfy my own curiosity, I ran both tests against an identically configured Amazon EC2 instance.
Lo and Behold: The Results
Click the image to view the dashboard on Tableau Public
As you can see from the top third of this dashboard, Google’s GCE performed slightly better in terms of both total and average requests completed successfully, and Amazon’s EC2 is almost on par with the response time – using an extract. The test using a live data connection showed quite some different results. The response time and error rate on the AWS instance are noticeably higher compared to the GCE instance; but in all fairness, we are talking about a Google BigQuery data source here, so I wouldn’t read too much into it.
I really enjoyed setting up a project and virtual machine using Google’s Compute Engine, the ease of use and the beautifully minimalistic interface have already made a lasting impression. Managing your projects and virtual machines using the Google Cloud dashboard is straightforward and easy to learn. And last but not least, the measured performance really convinced me. Bonus points when you’re going to use live connections to Google data sources.
It’s here! The Tableau Conference rolls round to London, packed full of amazing keynotes and enlightening sessions from both customers and Tableau themselves.
To help you make the most of your time at the London conference Fabian Zimmer has put together this beautiful interactive guide to the event.
(click the image to see the dashboard in its full glory)
We look forward to seeing you there!
Tableau is great tool to dive into data. Sometimes it can be difficult to keep your dashboards nice and clean. Especially, when filters and parameter filters are all over your sheets. This blog will show you a way how to hide and show parameters on a dashboard. If you want to know how to set up a container float for pushing parameters across the dashboard’s borders keep on reading here.
A day to day challenge in Tableau
Tableau is flexible. Tableau is sexy. And Tableau is great with dates. Per default Tableau gives you a couple of options how to setup your date filters. There are many situations when the default solutions are sufficient. But often enough they do not. If this is the case for you. Here is a more elegant solution for you.
In my case at hand, I have built a sales analysis dashboard that can be seen below. I want to give the user of that dashboard the option to choose from 3 fixed time periods: YTD, Previous Year, Rolling 12 months. In addition, the user needs the option to choose from a custom period. Specifically, the option to set a start and an end date of the custom period, and filter on that. As the custom period is only used 1 out of 10 times max, we want the input fields to be hidden. Sounds like an interesting challenge.
Hide and show parameters from user actions on a dashboard, in combination with fixed and custom date periods. In order to solve this riddle, we need to build the pieces of the solution. Afterwards, we put these pieces together. The pieces are:
- One parameter with a set of fixed time periods
- Parameters for Start Date and End Date
- A filter calculation
- 2 blank sheets to do the magic of appearing and disappearing
Build the Pieces of the Puzzle
First, we will start with implementing a parameter with fixed time periods. In this example, I’ll choose 3 different time periods and a 4th option for giving the user the option to select a custom time period:
- Previous Year
- Rolling 12 months
- Choose Custom Period
I’ll give it the title “Select a time period” with the Data type of Integer and a list of values 1 to 4 displaying the corresponding value as the respective description:
Putting these parameters as they are on the dashboard will not do much, so we need to add a filter calculation that will adjust the time period according to the selection. Have a look at the calculation below.
Through this case statement we are differentiating our filter conditions according to each of the options of the parameter. Cases 1 to 3 set fixed time spans that are relative to today. Case 4 looks a little different. Let us go quickly go through them 1 by 1.
- In case the user wants to filter YTD, we only want to show order that share the same year as the today.
- When the user likes to see previous year data, then every order we show should be from one year before the year of today.
- For rolling 12 months, there should be a maximum difference of 12 months between today and the order to be displayed.
- In case number 4 our date comparison is parameter driven. The start date set by the user serves as lower boundary, the end date serves as upper boundary. Every order that was set between the two boundaries are accepted. In other words the condition we are testing the order date against is that it needs to be both bigger than the “From” parameter and smaller than the “To” parameter.
All 4 cases test every row in our dataset, for the different conditions. What they have all in common is that each row that fits gets a 1 every row that does not a 0. Making this calculation a dimension allows us to filter on discrete value. Drag the calculation on the filter shelf and select “1”. This filter needs to be applied to every worksheet of the desired dashboard.
Next, putting these parameters together on one dashboard looks and feels clunky, as is demonstrated below. At this point, it is pretty much a wildcard what the user will choose. Will she use the “Choose Period” drop-down or type into the custom date fields?
Setting Up the ‘Trick’
Well, let’s make it crystal clear to the user what to do. We want to make it such that as long as the user is choosing between the pre-set time periods, the other input fields should disappear. Only when the user selects the option “Choose Custom Period,” the From and To input fields appear.
We will do this with a floating layout container and two empty sheets that will push the parameter in and out of the dashboard.
Let’s go step by step. We start with creating the one empty sheet to push and one to pull the date pickers.
- Therefore, create a new sheet.
- We want the sheet to be white and empty. Start by putting a MIN(1) calculation on the Rows and Columns shelf. By putting a measure on both, we can make the entire sheet appear and disappear through filters. Very useful for our push and pull trick.
- As the sheet should empty, we change the Marks type to Text, add MIN(1) to Text shelf. Open the text editor and delete the text. Remove the axis by right clicking on the rows and columns fields a remove the “Show Headers” tick from the dropdown. With formatting we can give the final touch by removing “Grid lines” in the format window.
- Finally, we will add a filter calculation to the Filter shelf. We want the calculation to return 1 when “Choose Custom Period” is selected and else 0. Similar to the previous filter calculation, change the calculation to a dimension and drag it on the filter shelf of the empty sheet. Select to filter on 1. Your result should look like this:
We duplicate this sheet and reverse the filter to “Exclude” on the second sheet. That gives us two sheets. One appearing and another one disappearing when the “Choose Period” is set to “Choose Custom Period”. One sheet will serve us to push the parameters onto the dashboard when wished, the other one to push it down from it.
Finally, everything is coming together. We will use a floating layout container with the two parameters for Start and End Date as well as the two empty sheets on the left and on the right side of the two parameters.
This layout container will float half on the dashboard and half outside the dashboard. Frankly, the positioning of the layout container needs a little fine-tuning for a perfect look and feel.
The final result should look similar to the following.
When Tony Kau introduced me to this feature, I was quite amazed by it. This workaround can be very powerful in keeping your dashboard nice and clean. It is not only limited to datepicker parameters obviously. Any element of a dashboard can be hidden this way. The only limitation I see is that whatever you want to hide through this method needs to be placed at the border of that dashboard. This limitation means also that it can only be used with fixed sized dashboards. When the dashboard is changing in size, the float holding the parameters might get visible even when it should not. The reason is that floating elements are fixed in position.
An extra step for example could be to hide the entire filter bar that is often sitting on top or on the right of a dashboard. Or you might want to give the user a welcome message in a textbox that they are able to hide after they have read it for the first time.
The user is only presented with additional options to filter when they’re necessary to see. What do you guys think? Feel free to comment below and share this solution around.