How to PROPERLY Back Up Your Tableau Server

Hello there,

Whadda ya mean you didn't take a backup?

Whadda ya mean you didn’t take a backup?

Time for another post about Tableau Server and how to get the best out of it in a large-scale, enterprise deployment situation.

Today we are focusing on how to PROPERLY back up your Tableau Server installation.

Like many aspects of enterprise services, this is a simple concept, but one that if you get wrong, can spell disaster. It always amazes me how many people / organisations don’t do this properly or even at all.

You know how annoyed you get when your mum tells you she isn’t backing up all her family photos – well that’s what I get like when I see IT systems neglecting backups.

Note this post refers to a standalone Tableau installation with a manual failover to DR. We don’t yet have a clustered environment. I’ll update the post with considerations when we implement that.

 

What’s a backup?

Seems a simple question, and there are a number of different types of backups that you can take, each useful in different situations. Here’s what I’ve got in place:

 

 

Full System Backup

This is a complete dump of the server filesystems to disk (or tape – there’s still plenty of tape backup infra out there). Most likely it will be one of the big vendor products that look like the mothership from Close Encounters of the Third Kind.

Your full system backup should be set up by your server team when you get your machine. However, the principle of “trust no-one” applies here as always and it’s up to you to check the following:

  • Have the backups been set up at all?
  • Are they backing up all the filesystems? – Many times I’ve seen that only operating system partition backups have been set up, and I’ve had to request the application partitions be included.
  • Have the backups been succeeding? – Get your backup team to send you a report every month of backup completion. They don’t always succeed and you probably won’t be told that there has been a failure.
  • If you need to perform a restore, do you know the process and how long does it take?

If you get the okay on that then you’re good. But only as an insurance policy. Full system backups can take a long time to restore, and may only be weekly so you could end up losing data even if these are in place. It’s up to you to ensure you’re covered rather than rely on other teams doing things correctly.

 

 

Nightly Tableau Backup

There’s no excuse for not having this in place. It’s easy to set up and it is a case of when rather than if it saves your ass.

The tabadmin backup command gets Tableau Server to dump all content & configuration to a single .tsbak file. You don’t have to stop the server to do this and it doesn’t seem to impact performance too much while it is running so this should be the first backup you configure.

A simple script like this will do the job.

@echo OFF
set Binpath="D:\Program Files\Tableau\Tableau Server\9.0\bin"
set Backuppath="D:\Program Files\Tableau\Backups\nightly"
echo %date% %time%: *** Housekeeping started ***

tabadmin backup %Backuppath%\ts_backup_ -d
timeout 5

tabadmin cleanup

move "D:\Program Files\Tableau\Backups\nightly\*" \\\tableau_shr\backups\nightly\
echo %date% %time%: *** Housekeeping completed ***

The tabadmin backup command does the actual work here, dumping everything to a file. Always a good idea to run tabadmin cleanup afterwards to remove logs etc.

We run this script at a quiet time for the server (not that there is one in my global environment). We use the Windows Scheduler on the server but I’d recommend using a decent scheduler like Autosys or whatever your enterprise standard is as WTS is pretty poor.

IMPORTANT: You may have noticed the move command at the end there. That takes our newly created backup file and moves it OFF THE SERVER to a share drive accessible by my backup server. Why? Well what happens if you lose the server and your backup file is on it? You may as well have no backup. So move it somewhere else.

Update – this tip actually saved my ass this week when we lost our entire VM cluster (er.. hardware team – *cough* – what’s going on??) . We were able to failover to the backup server successfully. Going forward we will be soon implementing Tableau’s High Availability capability.

Do make sure you rotate your backup files with a script that deletes the old files or your share drive will fill up. I keep 4 days worth, just in case the current file is somehow corrupted – rare but can happen.

 

 

Weekly Restart

You may know I’m not a fan of running enterprise apps on Windows. I prefer Linux for a number of reasons that I’m not going to go into here. I know many users want Tableau Server on Linux, and the amazing Tamas Foldi has only gone and written it himself – so one day we may see it.

Anyway, with Windows apps I always build in a weekly application restart. In our case every Saturday morning. That involves a server reboot (to clean out any OS related temp stuff), application restart and a tabadmin cleanup. The tabadmin cleanup with the server stopped has the added bonus of clearing out the temp files (doesn’t happen when the server is running). These files can get pretty big so worth clearing out.

 

 

Virtual Machine Snapshots

If you’re running on a VM then you may be able to utilise the VM snapshot facility. Contact your VM admins for details. I’ve not needed to implement this but I know some that do. VM snapshots are super handy.

Do be aware that Tableau don’t seem to support this though..

Screen Shot 2015-11-11 at 19.11.48

 

 

Config File Backup

Sometimes it’s handy to just back up your Tableau Server config. I’ve got a script that grabs all the .yml and template files in my Server directory, zips them up and moves them off the server. Pretty useful to refer back to old config settings if you need to. Make sure you include workgroup.yml.

If you’re being really good then you’ll be checking your config files into a revision control repo like SVN.

 

Site Specific Backups

Tableau Server allows you to backup per site. This doesn’t give me much extra but I know in orgs that have lots of sites, or a site per team / business unit it can be very handy.

One thing that isn’t great about exporting a site is that the site is locked and inaccessible as the export is taking place. See Toby Erkson’s blog for more info on exporting a site.

 

 

Backup File Size & Duration

As your environment grows you’ll need to be mindful of the size of your backup file. Mine is around 16GB and takes well over an hour to write. Takes about 25 mins to restore. You’ll need to understand those numbers as your system matures.

unnamed

Backup files can get pretty big

Another variable that can affect backup time is the specification of your primary server. If your primary is low spec then you’re gonna get a longer time to write a backup. I don’t have any stats on that but I know it is true. Contact Jeff Mills of Tableau if you want more info on Weak Primaries & backup times.

 

 

Backup Your Logs

Less important this, but handy to do on a weekly basis is to zip up your logs. We have a much better solution for logfile management using Splunk – you’ll see a blog about that in the future.

 

 

The Most Important Bit – TEST YOUR BACKUPS

OK so you’re backing up like a man / woman possessed? Fine. You’re only as good as your last restore. So TEST your backups periodically. Files get corrupted and you don’t want to be discovering that your only backup is broken when you need it.

OK that’s it. Backups can save your life – don’t ignore them. Paranoia is king in IT!

Cheers, Paul

10 Thoughts from Tableau Conference 2015

Howdy y’all,

What a setting..

What a setting..

Yeah it’s 2am and I’m wide awake. Coming down from a great week at Tableau Conference 2015 in Las Vegas. So I thought I’d knock up a post about how the week was for me.

 

 

Thought #1 – “WTF?!”

Er...

Er…

Turning up for registration on the Sunday, the last thing I expected to see was an 8 foot high poster of my ugly mug grinning out at me. I saw some younger children at the event and they would surely have nightmares at such an image. Then there’s the question of my image rights… Tableau we need to talk about that…

Although it did allow people to get their #picwiththepauls

Francois gets his #picwiththepauls

Francois gets his #picwiththepauls

 

Thought #2 – “Wow it’s so great to meet you at last / again”

TC is all about the people. It was great to meet people that I’ve been interacting with all year. Some of these were existing relationships, and others were meeting for the first time. Too many to name but I was really pleased to finally meet George Gorczynski, Steve Fenn, Mat Hughes, Jen Vaughan, Fiona Gordon, Jon Boeckenstedt, Ken Black ( & Jett) & Mike Moore.

It’s great when I meet someone that deals with Server rather than all you Desktop jockeys. See us Server folk have a secret handshake and knowing look in our eyes. We know what really matters in Tableau!

It was also great to see the new Zen Masters. Especially the British contingent – my pals Chris Love & Rob Radburn. Awesome stuff.

 

Thought #3 – “The devs smashed it”

I was delighted at the product enhancements announced this year. Functionality that is really going to make a difference to the ~4000 users I support.

It will be interesting to see which features really capture the imagination of my user base, but I can anticipate cross DB joining, union &  global filters being very popular, as well as the user home page on server.

We're not worthy..

We’re not worthy..

But I kinda gave my position away as to what made my day in terms of new functionality – yes that pic does show me bowing down in homage to Version Control. In front of 11000 people. Hey I’m not embarrassed, it took all of my self-control to prevent myself from storming the stage and giving the guy a hug.

 

Thought #4 – “Isn’t technology great”

My conference experience was massively enhanced by a couple of tech items.

Firstly the hugely useful Tableau Conference app. I love the way the organisers monitor the number of favourites a session gets in order to determine of the room allocation is suitable for thee demand.

Secondly, WhatsApp. Despite having a crappy name, this app was great for keeping in touch with colleagues and friends. My pals at The Information Lab are always super-concerned with the social aspect of events and set up a WhatsApp group to allow us to sync. Before we knew it there were 50 members and it became the prime method of determining what bar everyone was in or what session people were at. Great stuff.

 

Thought #5 – “Las Vegas – oh dear me”

download

Fabulous? Erm…

I’ve been to Las Vegas once before. Just for a couple of days passing through. I recall not being too impressed back then, and this visit just confirmed my earlier thoughts. While I’m undoubtedly amazed at the imagination and brilliance of the designers that constructed some of the buildings, I’m still left with a feeling of disgust and depression at the underlying tone of seediness and corruption. It offends pretty much everything that I stand for.

I hope some of you managed to take a virtual shower by getting out to the Grand Canyon or surrounding areas like Bryce Canyon which are stunning. That’s Las Vegas for me. You can keep your Casinos.

 

Thought #6 – “Why can’t we just have one big global time zone?”

Jet lag sucks. I propose we have one mega time zone (GMT of course) and stick to that. The rest of the world would have to work in perpetual darkness but you’d soon get used to it. Change your goddam date format while you’re at it.

 

Thought #7 – “That’s the best session I’ve ever seen at a Tableau Conference”

I hope some of you went to the talk by Jeffrey Shaffer & Andy Kriebel entitled “Dear Data Two“. Read the abstract if you want to know what it was about but suffice to say I found this talk incredibly engaging. It covered a huge variety of data viz examples, all done with fun and humour. It was also technical enough as the vizzes were also constructed in Tableau. I loved it. Original, brilliant and emotional at times, this was everything a TC session should be. And told by two natural presenters on stage.

Another stand-out session was “The New Tableau Web Data Connector: APIs, JSON & Javascript for Dummies” by Craig Bloodworth. This was a perfectly pitched run-through of the WDC and gave me real confidence that I could go and build one myself.

 

Thought #8 – “Nice one @cheeky_chappie”

Safety first at Paul's talk

Safety first at Paul’s talk

I tend to hang around a lot with Paul Chapman. No I don’t know why either, but it happens. And it was great to see him absolutely smash it with his presentation “A Single Shade of Orange“. He’s a #futurezenmaster for sure.

He has been ably coached by an expert road crew (myself & Tom Barber) so we take some (most) of the credit for his success.

 

Thought #9 – “I wish I was on that stage”

I’ve spoken at the last 3 Tableau Conferences (2 in London & also Seattle). My application was rejected this year to rightly give someone else a chance. That’s cool.

But I was super-jealous of those that did get the opportunity. Speaking at a Tableau event isn’t like other events (of which I do a few). At TC you’re presenting in front of friends, and people that share your mission. They want you to do well. No-one is watching you and judging, or hoping you don’t do well. They all want to learn from you and want you to rock.

It’s a mega buzz to be up on stage and I’d recommend anyone to do it, even if you feel you’re not a natural presenter.

 

Thought #10 – “This whole thing isn’t the norm”

Code. That’s all Tableau is. Computer code. So why has it changed my entire working life in less than 3 years? I think I know the answer. You see in order to achieve this perfect storm an organization needs to nail each of the 3 pillars

  • Application – the tool has to rock. It needs to be easy to use and needs to be able to make your job easier, not harder.
  • Company – The company needs to be solid. Progressive, innovative and approachable
  • Community – You need a great set of users, with a true sense of collaboration and friendship.

In my career I’ve seen many tools, companies and communities. Most organisations nail 1 out of the 3, occasionally you’ll get a really good one that hits 2/3 – but in 15 years of IT, Tableau is the only one I’ve seen that nails each of these pillars and then some.

It sounds almost cheesy to say it but this isn’t the norm. If you’re a 20-something graduate in your first job using Tableau and you think that all tools and organisations are like this then you’d better wake right up now. This is NOT the normal experience. I’m just grateful I found it at all, mid-way through my career. If you’re lucky enough to have discovered Tableau in your youth then WELL DONE! Enjoy it! You’ve hit the jackpot!

So those are my thoughts on another stellar event. See you in Texas everyone!

Paul

How to manage Tableau upgrades in an Enterprise environment

Hi,

Been a while since my last post. Been exceptionally busy at work due to widespread adoption of Tableau at my organisation. Usage has doubled in the last 3 months and we now have thousands of users to keep happy. That takes some doing, hence the blog hiatus.

Anyway, time to continue the series on Tableau as an IT Service, with a subject that I’m asked about a lot – just how do you manage your Tableau upgrades in an Enterprise environment?

This is actually a pretty big subject, especially in an Enterprise setup. There’s no perfect way to do it but hopefully some of these tips will be useful.

 

Section 1 – Pre-Upgrade Considerations

To upgrade or not? That is the question

Obviously you’ll need to make some sort of decision as to whether or not you actually need to upgrade. Each time you upgrade a production system you risk impacting stability, introducing bugs or human error. It also needs testing, planning and eats resources and time. So if there’s no good reason to upgrade, then don’t.

Tableau release new versions at a pretty impressive cadence, generally once a month for ‘maintenance’ releases. So for each newly advertised release, take note of the following in order to make your decision.

  • Compelling functionality –  New features are entering the product all the time. Determine what may be useful to your user base.
  • Key bug fixes – Each new version will squash a few bugs. If there’s one that is affecting your users then it may be prudent to upgrade and quieten the noise. Remember that your upgrade may introduce new issues. Take note of the known issues section in the release notes.

Both of these are fully documented in the Release Notes. Review them carefully each time Tableau announce a new version. There are occasions where bug fixes are not announced in the release notes but your account manager will make you aware of those.

Also be aware that new versions might also introduce new bugs / issues. We have had situations where we have been stable, decided to upgrade and then spent the next few months battling newly introduced issues to the point that we probably should have stayed on the older version.

Be aware of compatibility issues

I hear a lot of complaints about compatibility issues between Server and Desktop. So it’s important to be aware of the behaviour between versions. Get this wrong and you may be in a position where users have overwritten content originally created in an older version and don’t have a back up to roll back to. If you are crossing major versions (8 -> 9) for example, then you’ll certainly need to upgrade the Server and Desktops at the same time.

Top tip – it is possible to hack the xml of a workbook to change the version and rescue the situation, provided no edits have been made to the content. The ever-so-talented Jen Vaughan (@butterflystoryexplains all here.

For more details see this article.

Don’t upgrade to version zero

Most risk averse IT managers (like me) will resist the temptation to jump right into that new shiny Vx.0 release the day it comes out. Version zero releases of any software are notorious for bugs and issues, that’s just the nature of software development. So at my org we always let at least one maintenance release slide by and instead go to the Vx.0.1 or Vx.0.2 release.

It can be hard to resist temptation, especially when your users are clamouring for that shiny new version but if there are major bugs in that zero release, then best let someone else find out about them rather than you.

Caveat: This doesn’t always work of course. We waited for 9.0.2 and that ended up being one of the buggier releases. Oh the irony.

 

Understand the new version resource demands

This is important. You may be rocking away on your existing version, confident that your hardware can satisfy the software. But then you upgrade, and all of a sudden that new version eats up double the RAM or batters your CPU. You didn’t see that coming.

For version 9 Tableau released an updated scalability document. Annoyingly it was released quite a while after V9 went live. I was expecting a comfortable read but noticed phrases like the following, which were pretty alarming.

Screen Shot 2015-09-04 at 23.03.31

Screen Shot 2015-09-04 at 23.05.20

Whaaaat?! That led to some discussions with Tableau tech folks (thanks Meredith!) and some fevered testing and all turned out to be ok. But those figures took us by surprise for sure. Don’t be in a position where you upgrade and then suddenly hit a capacity issue that your older version didn’t have.

 

Test it!

Let’s say you upgrade. And it goes wrong. One of the first questions you’ll get asked is “Did you test this?”. You really don’t want to be answering “no” to that question.

You should have at least one non-production environment that you can run tests on. Due to the complex nature of Tableau it is impossible to test every aspect of functionality but you should at least be able to cover a good number of scenarios. You may also not be able to simulate your production load on your test environment but it will be better than nothing. You may find the load testing utility tabjolt handy here. Check Russell Christopher’s guide to tabjolt.

I have the following environments to play with. This gives me a lot of options.

  • Production – Main user facing environment
  • BCP – Disaster recovery environment in case production fails
  • UAT – A mirror of production. Same spec
  • Engineering – Lower spec, used to test the latest version available from the vendor
  • Beta – Even lower spec, used for testing beta versions
  • Alpha – for testing the alpha versions

Ensure that the tests you conduct are consistent, repeatable and that the outcomes are recorded. We use a tool called Quality Centre and the tests are performed by my level 2 support folks. This gives consistency and frees time for my main analysts.

Verify your licence details

Double check your licence maintenance end date for both Server and Desktop. If you’re out of maintenance then you won’t be able to use the application after you upgrade. I’ve seen licence issues way too many times with many applications after an upgrade. You won’t want to be trying to contact your account manager on a weekend to sort out a licence issue.

Opinion – IMHO I would much prefer it if applications didn’t crap out due to licence expiration. In 99% of cases there’s some paperwork misunderstanding that is easily sorted by your account manager. By all means let the application hit you with some warnings and also alert the vendor, but it shouldn’t mean a loss of service.

 

Your upgrade process & strategy

I’m not going to go into it here as it’s a full on subject in itself but make sure you follow your organisation’s Change Management procedure to the letter. Failure to follow change processes is generally a dismissible offence in most Enterprises.

Make sure you advertise your strategy for upgrades and maintenance to your users. You’ll get asked, so ensure this is specified in your Service Document. You may even have standard maintenance windows (e.g. on a weekend) where you can reserve the right to take down the system. Again, make sure that is documented and your users are aware.

 

Section 2 – The Upgrade

Create a package

Most enterprises will use some form of package deployment tool / team to perform the actual deployment of new software. That’s pretty handy. I have over 500 installations of desktop to support and we need to ensure they all get upgraded at the same time. So I can create a software bundle, send to the packaging team and they will then schedule and deploy.

This gives you the chance to include those little extras in your package to give your users the best experience. Here’s what’s in our Tableau Desktop package.

  • The installer exe file
  • A sample “Getting Started” workbook with tips, best practices & help.
  • Preferences.tps file containing customised colour pallettes
  • Most used drivers (Oracle, MySQL etc)

I would love to be able to customise the “Discover” pane to point to some of my internal resources but it doesn’t seem to be possible. Boo.

We also supply custom instructions for the packaging team, such as running the installer with a flag / registry update to disable the auto-update feature that has been implemented in the upcoming 9.1 release. A really baaaaad idea for Enterprise deployments.

One thing to be aware of with packaging is that it can take a long time. From request to deployment, the typical time at my org is an insane 7 weeks! By which time another version is out. We are hoping to speed that up a bit obviously.

Communicate to the max

You can’t over communicate any potential disruption to your service. Make sure a broadcast message goes to your users via whatever system your firm uses. And it doesn’t hurt to follow-up with your power users / senior stakeholders with a personal reminder that work is planned.

Take a backup

Whadda ya mean you didn't take a backup?

Whadda ya mean you didn’t take a backup?

Tableau is one of the easiest applications to upgrade that I’ve worked with. A simple uninstall / reinstall does the trick. But don’t take that for granted – make sure you take a manual backup prior to your upgrade. If you’re not doing this as a matter of principle then you’ll be getting a visit from the boys. And they won’t have had their dinner.

Handily, the uninstall process takes a backup anyway but don’t rely on that, take your own.

You should also back up all your .yml configuration files and ensure you know what each setting is. Tableau should preserve these settings during the upgrade but just in case it doesn’t then it’s handy to have a copy to refer back to.

Server specific considerations

When you uninstall Tableau Server it backs up the content and the settings in the main yml configuration files. That’s cool, but do remember that if you’ve changed any of the other config files then they will be overwritten and you’ll have to make the changes again. For example we change the webserver timeout settings in the file “\Tableau\Tableau Server\data\tabsvc\config\httpd\httpd.conf.templ” – that gets blown away by an uninstall.

There may also be other settings in the Postgres db that you may have modified using tabadmin. Not all are retained from what I can see. Note I’m still researching this so not 100% sure of the behaviour.

Finally make sure you understand any changes to the Tableau Postgres DB schema in the new versions. It has generally remained pretty consistent but if any tables or fields are renamed then that may well break your Custom Admin Views.

Section 3 – Post upgrade

Test it! Again!

Not all issues come to light immediately. Perform testing, keep vigilant and liaise with your users closely in the next few days to understand if the application is behaving as it should be.

Ask for help!

Tableau Upgrade Assistance

Tableau Upgrade Assistance

If all this sounds a bit daunting and you’d like to get assistance then Tableau offer an “upgrade assistance” programme which might be worth looking at. Talk to your account manager for more information.

There are also other guides around. Have a look at this one from our good friends at Interworks.

That’s it for this post. As I said it’s a big subject so do post comments if you feel I’ve missed anything.

Happy upgrading! Cheers, Paul

The Evolution of the Speed Record

makingof

Hi all,

Oh dear – it’s that time of year again. Time for the Iron Viz competition. The first challenge this year is the Wikipedia challenge. Create a viz, any viz, so long as the data comes from Wikipedia.

1. The Idea

There are tons of data on Wikipedia. Trouble is, much of it is in a nightmare format and takes a lot of tidying up. I wasn’t cool with doing much of that this time so reasonably tidy data was a must. I also wanted something with depth, and an element of competition, danger and heroism. And I love technology so wanted that as well. All in all a tough ask.

But then I stumbled across the perfect topic – how speed records have evolved over time. Ticks all the boxes and could be a nice use of Story Points.

So that was it – “The Evolution of the Speed Record” was GO!

kings

The Evolution of the Speed Record!

 

2. Data

I got the data from 3 Wikipedia pages.

kand

An example of the land speed record data

The data has enough variety and richness to satisfy my requirements. It is also pretty consistent between pages so makes consolidation into Excel a lot easier. I did have to remove entries that referred to record attempts that were not ratified, and I also had to standardise on mph vs kph as well as distance miles vs kilometers. But with those caveats, I’d gotten me a pretty decent dataset.

It was also cool that most rows linked off to pages about the pilot and the craft used, each with some neat images for use in the viz. Plenty of room to supplement this data set should that be required. I also managed to find some clips of some of the drivers on YouTube.

 

3. Viz Design

The evolution of the record featured trials and tribulations, joy and pain, heroes and villains. So all in all this was a great opportunity to try Story Points for the first time.

axisThe overall look and feel took some arriving at and I’d like to thank Kelly & Chris for assisting with the peer review process. My original version made use of custom “speed-style” fonts to give the impression of speed, but we eventually decided that the real ethos of the whole story was the nostalgia and ‘Pathe’ News‘ style of flat capped heroes with handlebar mustaches pushing the boundaries of technology. So we switched to a style that sort of represented a 1930’s newspaper. I was really pleased with the final look and feel of it. Deciding the style really helped the story design of the charts. I tried to be as minimal as possible, removing unnecessary chart ink and distractions.

paper

Operation Paperclip

I wanted to give a feeling of progressing along a chronological timeline, whilst interspersing with ‘infographic’ style information pages. In particular there was a great story to tell about Germany and Operation Paperclip, that made a great infographic.

 

 

wiki

Embedded minimal Wikipedia page

I obviously wanted to use some advanced techniques so used the individual Wikipedia pages for some of the pilots to link off to an embedded web page. A masterstroke was working out that if I added “?printable=yes” to the URL it would give me a stripped back render of the page, that almost looked like a 1930’s newspaper, fitting the theme perfectly. I was really happy with that.

 

 

Screen Shot 2015-03-14 at 12.02.30

Embedded YouTube page

There’s also a page that links off to a YouTube video of the driver. I like that one, as the links are all monochromatic grainy film with appropriately stiff-upper-lipped voiceover. Excellent. I did worry a little about the ethics of including these videos as some of them show the final moments of the driver’s life. I think I’ve been respectful enough in my overall viz to justify inclusion though. I also added an old-school TV border to give a little bit more visual appeal.

So overall I was really pleased with this. A nice style, several good stories and a use of some advanced multimedia techniques.

 

4. Challenges

As mentioned this was my first use of Story Points. Unfortunately it turned out to be a frustrating experience. The feature, whilst undoubtedly useful, is in need of customisation and doesn’t provide a smooth user experience. One for the Tableau dev team to look at for sure.

Another challenge was the fact that the new Tableau Public site has sneakily been changed to https. That only becomes apparent when accessing a published viz using Chrome. Make sure your links to embedded content are https or they won’t work.

 

5. Analysis & Story

So what can we take from this story? Here are some of the key observations that Tableau has allowed me to glean from the dataset.

  • Records are dominated by only 3 nations, with France killing it in early years with their brilliant aviators.
  • It took a while for airspeed to get going, in fact land speeds were higher for a long time.
  • Germany’s poor record really didn’t tell the full story, their brilliant scientists being key to the USA’s great NASA missions in later years. Interesting how their previous misdemeanours were overlooked though…
  • Most record-breaking attempts advanced the speed slightly, with the occasional big jump.
  • The incredible Malcolm Campbell and his son Donald held an amazing 21 records.
  • Oddly, no-one seems to be bothered about records anymore, there hasn’t been a new record since 1997. Or is it too hard / dangerous now?

So that’s it. I hope you enjoy the visualisation. If you do then please consider voting for me in the IronViz competition, should this make the Elite8 twitter vote-off thing.

Regards, Paul

How to initiate IM / Skype / Chat / LastFM session from a Tableau dashboard

Top Tips

Hello everyone. Before I start this I have to admit I nicked the idea completely from Dave Hart of Interworks, who came up with it when he was working with us. But he doesn’t blog or tweet so that leaves me to claim all the glory… Actually I’m just passing on his superior knowledge..

Many of you probably use mailto: actions in your Tableau dashboards, to kick off a mail to someone that might be highlighted in a viz etc. And you might also have some sort of internal IM system like MS Lync or something like that.

Well you can just as easily initiate a chat session to one or multiple recipients using Tableau.

This uses the Session Initiation Protocol (SIP) to open the session in whatever IM client is in use. You just need to open Tableau Server like this

tabadmin set vizqlserver.url_scheme_whitelist sip
tabadmin set vizqlserver.url_scheme_whitelist im
tabadmin restart

sip: allows Lync to lookup people using their email address
im: tells Lync to open it as a group chat

This is an example of an URI Scheme. There are dozens of others, such as callto: which tells mobile phones to call as well as facetime: and of course mailto:. 

Once you’ve opened the server up you can then create a Tableau action to fire off the command. Note that if you try and IM yourself it will usually default to email.

im:<sip:kelly.smith@company.com>
im:<sip:kelly.smith@company.com><sip:james.anderson@company.com>
im:<sip:kelly.smith@company.com><sip:james.anderson@company.com><sip:rob.jones@company.com>

When it comes to the action Tableau won’t let you use multiple items without specifying a delimiter so what you do is use “><” as the delimiter and then put [url encoded] “<” and “>” around the data field.

Anyway I posted this on the Tableau Forum and there’s a workbook attached to that post so you should be able to download it and see how you get on. I reckon there’s some potentially way cool stuff possible using URI schemes. There’s also lastfm:, spotify: and skype: amongst them – so much fun to be had here I think.

Forum post: http://community.tableausoftware.com/thread/155429

Regards, Paul

Talkin’ bout a Revolution…

Hello, I trust you’re all ok,

There’s something stressing me about Tableau. It might not be the most obvious but I’ll have a go at describing it anyway.

See I demo Tableau Server all the time. Like daily. To some pretty senior people that I really want to impress. These demos often involve clicking around the server views to show some of the user content. Trouble is some of my user content isn’t that great. It can be badly designed and slow to load – that’s a separate issue that my team is working on.

So I click on the view and then, there it is…..

30x30REV

Spin, spin, spin. Will it be 2 seconds or 20? Will it even load at all? The room falls quiet as all eyes settle on the spinning circle. The audience is almost hypnotised. The tension grows, until the view pops into life (or occasionally doesn’t). It’s the moment I dread as I know everyone is staring at the circle, waiting. Seems like it makes 5 seconds feel like 50.

So here are my issues with this.

  • Positioning – The spinner is bang in the middle of the screen, you can’t avoid it. It grabs your attention and also the attention of the room. Everyone starts watching it whether they want to or not.
  • Information – The spinner doesn’t give any indication of the progress of the operation. I’m not sure how it can, given the nature of the underlying queries but it’s still a problem.
  • Inconsistency – Often the spin rate slows slightly just prior to completion. But sometimes it speeds up again. So I think it’s about to complete, then it carries on. I know it’s just an animated gif but it still seems to occur occasionally.
  • Errors – I’ve had occasions when the connection is lost with the server for whatever reason, but the circle keeps going. That’s very misleading.

I think everyone accepts that applications which perform loading operations will generally have some sort of indicator. But I think the spinning circle can be improved.

facebook_standard_loading_animation

Users blamed the system

facebook_custom_loading_animation

Users blamed the app

The psychology of waiting is certainly an interesting subject. This post refers to a study conducted by Facebook that seems to suggest the type of indicator used can affect how the user perceives the problem. Admittedly the post doesn’t provide an accurate source for this but I thought it interesting nonetheless.

.

Screen Shot 2015-01-09 at 22.57.05

There are many recommendations to making the waiting game feel less of a drag

There’s plenty of chat on how to make that waiting game feel less of a drag to users. This post from UXMovement.com has a number of suggestions such as

  • Use backwards moving ribbings
  • Increase number of pulsations
  • Accelerate progress, avoid pauses

Also take a look at this article by Chris Harrison. The associated video shows the theory in action and there’s a detailed study of the theories available.

.

I wonder how much thought Tableau have given the format and positioning of the spinning circle as well as the science of perceived performance as opposed to actual performance. I think the consensus is that a progress bar is the best option but I know that won’t happen as Tableau can’t easily know the duration of a query. However, there are plenty of recommendations out there that may be worth considering. Why not make use of every trick in the book to make users feel they’re getting a faster experience?

There has been some chat on the Tableau forums about this (thanks @johncmunoz). It seems such an insignificant component but why not add as much polish to the tool as possible? Anyway, I’m no expert on this so maybe someone who knows the subject can supply more info.

Until then I’ll just think of appropriate 90’s synth-pop as the circle spins.

Regards, Paul

Shapes, Icons and Flags for your Tableau viz

Top Tips

Hi all,

Simple one this. A list of some resources that might be useful for supplementing your Tableau vizzes.

I keep finding myself going to these resources time after time. Feel free to suggest other go-to sites for your vizzes.

Icons

  • Screen Shot 2014-10-20 at 13.27.33FlatIcon – Loads of free icons. Multiple formats & sizes. I love the sketched nature of a lot of these. Minimal and neat but with a lot of character.
  • BrainyIcons – Similar stuff here. Cool hand-drawn style looks great.

Flags

  • Screen Shot 2014-10-20 at 13.25.53FreeFlagIcons – Wide variety of shapes for all your national flag requirements. Very neat and professional looking and a wide variety of shapes and styles . Ideal for any viz requiring custom flag shapes.

Maps

  • Tableaumapping.bi – Want gesopatial data for your maps? Allan Walker Screen Shot 2014-10-20 at 13.28.58
    (@allanwalkerit) & Craig Bloodworth (@craigbloodworth) have you covered in this excellent resource. If you don’t see what you need here then ping them on Twitter – what they don’t know about maps aint worth knowing.
  • ColorBrewer – Get that map colour scheme looking just right with this tool

Review Services

  • HelpMeViz – Get some constructive advice on that viz from @helpmeviz.

That’s it. Hope these prove useful.

How to Monitor Your Tableau Server – Part 1 – Infrastructure Monitoring

Hello there,

I hope you are all well and recovered from #data14. What a great event that was.

I’m gonna get a bit serious on yo now. It’s time to talk monitoring.

For a Tableau service manager (or any IT service for that matter), the worst situation that can possibly occur is getting a phone call from your users to tell you that your service is down. At best you’ll look stupid, at worst it will cost you credibility and is a sure-fire way to destroy user confidence in your service.

So how do you avoid this? You could not have any outages – well you can forget that, it aint gonna happen. You’ll get issues so get ready for them. What you can do is monitor your service big time. That way you’ll get the heads up and you can answer that phone call with a “yep we know, we’ve just raised an incident ticket and we are on it” – or better still, get to the incident and fix it before users even notice! Remember that effective incident management can actually gain you plus points from your user base, and senior management.

The problem with monitoring is that it’s BORING. I should know I did it for 12 years! But it’s also essential! Get it right and you’ll be making your life a lot easier. It also traditionally doesn’t get a whole lot of investment thrown its way as there’s no immediate tangible business benefit.

Monitoring falls into these categories. This is likely to take me more than one post to explain and it’s a big subject so I’ll doubtless miss some bits out. As always, I’m happy to connect offline and explain.

  • Infrastructure monitoring
  • Application monitoring
  • Performance monitoring
  • Capacity monitoring
  • User experience monitoring

Infrastructure Monitoring

As the name suggests this is all about monitoring of your infrastructure. That’s your hardware and network, peripherals and components of the platform your Tableau Server application is running on.

Chances are the infrastructure will be owned by an IT team. You’ll need a great relationship with these folks so if you haven’t then start buying them some doughnuts now. From what I can see Tableau is often brought into organisations by business users and that then antagonizes IT, meaning this relationship isn’t always the best. That’s a separate conversation however.

 

How does infrastructure monitoring work?

Chances are your monitoring team will have decided on an enterprise monitoring tool for the whole organisation. It will probably take the form of a central server, receiving alerts from an agent that is deployed as standard on each server in the estate.

NagiosSome examples of commonly used monitoring tools include the following. I’ve got a fondness for ITRS Geneos myself but am not going to go into the relative merits of each tool. You won’t have a choice what tool is used in your org anyway.

So what happens? Well the agent will have a set of monitoring “rules” that it adheres to. These will take the form of something like “check the disk space on partition X, every Y minutes and trigger an alert if greater than Z percentage full”. That’s all the agent does. Polls the server for process availability, disk space, memory usage etc on a scheduled frequency and triggers an alert to the central server if the condition is breached. Those parameters should be fully configurable.

consoleThe central server will then display the alert on an event console such as this one (pictured). Alerts will be given a criticality such as minor, major or critical. The alert console will be viewed by a support team, usually an offshore Level 1 team that provides an initial triage of the alert. They may then pass it onto a Level 2 team for potential remediation, or they may also pass it on to Level 3 – the main support team. That’s the usual process in a big organisation.

So what’s the issue with that? Well there’s the time factor for one. It can sometimes take 20 – 30 mins for an alert to get to the person that matters. That’s obviously not great. Also there’s the sheer volume of alerts, a big organisation can be dealing with tens of thousands of active alerts a week, many of them junk. That increases the risk of your alert being missed. There are also a lot of break points in the process, and sometimes alerts just go missing due to lost packets, network issues etc. It happens. On the whole the process works though.

 

Who’s responsible and what for?

Your infra teams are 100% responsible for the monitoring of these components. This encompasses

  • Server availability (ICMP ping)
  • CPU usage
  • Memory usage
  • Disk space (operating system partitions only)
  • Network throughput / availability

trustnooneThey’ll tell you not to worry about this. They’ll tell you that any alerts will go to their support teams and they’ll be on it should they detect an issue. My advice – don’t trust anyone. There have been many times where I’ve had an issue and lo and behold the monitoring hasn’t been configured properly, or hasn’t even been set up at all. Or there’s been a bad break in the process somewhere. That aint cool.

 

So what should I do?

Take these steps to keep your infra teams on their toes. They’re providing you a platform, you are entitled to ask. They might not like it, but stick to your guns – you’ll be the one who gets it in the neck if your Tableau Server goes down.

  • Ask for a breakdown of the infra monitoring thresholds – What’s the polling cycle for alerts? What thresholds are being monitored? Who decided them and why?
  • Ask for a process flow – What happens when an alert is generated? Where does it go? How long does it take for someone to get on it? How is root cause followed up?
  • Ask to have visibility of the infra changes – If there are changes going on to the environment that might affect your server, make sure you get notified. Make sure you attend the appropriate change management meetings so you know what’s going on.
  • Ask for a regular report on server performance – There will probably be a tool on the server that logs time series data on server performance. That should be accessible to you as well as them. Chuck the data into Tableau and make it available to your users.
  • Understand the infra team SLA – It’s important to realise that you are a customer of the infra teams. Ask them for a Service Catalogue document for the service that they are providing. Understand the SLA that they’re operating to. Don’t be out-of-order, but if you find they’re not giving you good service then don’t be scared to wave the SLA.
  • Ask for a report of successful backups – Just as important as monitoring
  • Ask for the ICMP ping stats – How many packets get lost in communications with your Tableau server? How many times does it drop off the network?
  • Be nice – The infra teams in big orgs have a tough job. They’ll have no money and little resource. Cut them some slack and don’t be a prat if they let you down occasionally. It happens.

Start with that lot. Your users will also love it if you can make this information available to them. Again, it inspires confidence that you know what you’re doing.

OK that’s it for infrastructure monitoring. Next up I’ll dive into how you monitor your Tableau Server application.

Cheers, Paul

 

Thoughts from Tableau Conference 2014

Howdy y’all,

I’m writing this onboard BA48 from Seattle to London after attending my first international Tableau Conference. My mind is still buzzing after such a great week, packed with emotion, knowledge, pride, fear and more.

I’m going to try and make sense of the week by attempting to document my key thoughts and takeaways. Maybe some of them will apply to others, I’m not sure.

Thought #1 – “This must have cost a fortune!”

Right from the off it was apparent that Tableau have chucked a whole load of cash at this event. The conference venue was huge, brilliantly decked out in Tableau colours. Helpful signs were everywhere, as well as tons of eager Tableau employees all dedicated to making sure you got to where you wanted to go. There were refreshments whenever you needed them, tech stations, games and all the requirements you needed to work, rest or play. The keynote arena was phenomenal and created an electric atmosphere.

I loved the keynotes. Brilliantly relevant subject areas, from passionate and engaging speakers. Particular highlights were John Medina & Neil deGrasse Tyson. I imagine that caliber of speaker doesn’t come cheap though!

A fantastic effort and one that really made me feel that this event was critical to the company.

Thought #2 – “What a lot of nice helpful people”

So many Tableau guys and girls around to help us navigate or fix any issues. We were guided into the arenas and shown exactly where we needed to go – it required no effort and no scrutinizing of maps and guides.

I also found great help when setting up for my speaking sessions. Expert tech-checks, and attentive audio-visual assistance got pretty much any problem resolved is super-quick time allowing me to concentrate on my talks.

There was also great help from my assigned Tableau partners for my speaker sessions and other interactions. Big thanks in particular to Morgan and Jewel for helping me out.

Thought #3 – “This App was a good idea”

Messages, updating schedules, announcements and much more, the data14 app was a key companion for the whole week. Also very useful for the organisers as well I imagine, with the favourites function allowing them to gauge potential interest in talks and allocate rooms accordingly. Don’t get me started on that gameon thing though.

Thought #4 – “I wouldn’t mind living in Seattle”

What a nice city. I flew in a couple of days before the conference so had a good look around, including a great tour of the area in a seaplane (flown by @cheeky_chappie(!). Some stunning scenery and a great chilled out vibe. And that’s not even mentioning the greatest music scene ever (I’m a bit of a grunge kid at heart). We also went off to the ball game which was cool.

Thought #5 – “Wow! It’s so great to meet you at last”

I20140911_090609 lost count of how many times I said that. The opportunity to meet and thank members of the Tableau community was my top takeaway from data14. I must have met several dozen people that I’d been regularly interacting with over the last year. I’d be here all day if I mentioned everyone but meeting Ramon Martinez (@hlthanalysis), Mark Jackson (@ugamarkj), Emily Kund (@emily1852) and Kelly Martin (@vizcandykelly), and being able to thank them personally made me feel incredibly happy.

Thought #6 – “I don’t know much about data viz”

Despite learning an absolute TON of new skills at the conference I still left feeling that I’m faced with a mountain to climb. So many insightful, passionate, and clever people. I met many of the Zen Masters also, and was very humbled by their skills and also by their willingness to pass the skills on. In fact my first lunch break featured an impromptu masterclass in data densification from Jonathan Drummey. Superb.

Thought #7 – “I know quite a lot about data viz”

Yes that does contrast with the previous thought doesn’t it. How come? Well if I think about it then several hundred people came to see me speak across my 2 sessions. Lots of people stopped me and asked questions about my blog articles and other presentations etc. In fact I couldn’t go anywhere without being stopped and engaged in some great data conversation.

Then on the final day, a data fan stopped me and told me that my work, blogging and community interactions have helped him to get out of bed every day and do a better job. That was fabulous to hear. If a little surreal.

So I left thinking yes I do have tons to learn and take in, but I’ve also got my own skills that people want to hear about.

Thought #8 – “Everyone should try and get up on stage”

BxMOf9QCEAAzYetI used to be scared about presenting. Not with the Tableau Conference. The community is so strong that it’s like presenting to a group of friends. I was lucky enough to be able to present 2 sessions and both were a great thrill, despite a couple of technical hitches!

So if you think you’ve got a Tableau story to tell then try and get involved. Tableau open the speaker applications early in the year so look out for it. You’ll love it.

Thought #9 – “This whole thing isn’t the norm”

Code. That’s all Tableau is. Computer code. So why has it changed my entire working life in less than 3 years? I think I know the answer. You see in order to achieve this perfect storm an organization needs to nail each of the 3 pillars

  • Application – the tool has to rock. It needs to be easy to use and needs to be able to make your job easier, not harder.
  • Company – The company needs to be solid. Progressive, innovative and approachable
  • Community – You need a great set of users, with a true sense of collaboration and friendship.

In my career I’ve seen many tools, companies and communities. Most organisations nail 1 out of the 3, occasionally you’ll get a really good one that hits 2/3 – but in 15 years of IT, Tableau is the only one I’ve seen that nails each of these pillars and then some.

It sounds almost cheesy to say it but this isn’t the norm. If you’re a 20-something graduate in your first job using Tableau and you think that all tools and organisations are like this then you’d better wake right up now. This is NOT the normal experience. I’m just grateful I found it at all, mid-way through my career. If you’re lucky enough to have discovered Tableau in your youth then WELL DONE! Enjoy it! You’ve hit the jackpot!

So those are my thoughts on data14. I’ve been to dozens of conferences. None have been like this. Many companies don’t sign off on conference attendance as they are often seen as a waste of time. And many are. But Tableau events are better training than any classroom course and I’d say invaluable to anyone that wants to make a career in this fantastic field.

See you in Las Vegas 2015!

Paul

5 Top Tableau Time Saving Tips

Top Tips

Hello everyone. Time for a new series on VizNinja. I’m calling it Triple T – Tableau Top Tips.

This is where I list my favourite useful Tableau features. They may be well-known already, or maybe even not so – let me know if you find any of the tips helpful. I’m going to hopefully open this up to Alteryx also as I get more familiar with that tool.

I wasn’t going to post these as I thought that hey – everyone knows these as they’re so obvious and simple. And then the first person I spoke to about Revert to Saved had no idea it existed. So if you think these are all dead obvious then that’s cool, but someone out there might find them useful.

Tip 1 -“Revert to saved”

I’m a serial saver, so the Tableau & Alteryx not having autosave features isn’t a show stopper for me, although it would certainly be nice to have. I know it annoys many bloggers.

I am however, repeatedly going back to my saved workbook version. Using most applications you’d close the GUI and reload the file. With Tableau – just hit F12 and your workbook is back to the saved version.

revert

Simple, but saves me a load of mouse clicks every day.

Tip 2 – Use the repository

Another great example of the attention to detail that Tableau show is the “My Tableau Repository” that I’m sure you’re all familiar with.

My tip here is make sure you use it properly. However tempting it may be to save that workbook anywhere in the repository, ensure you stick to the naming convention. Workbooks in the workbook directory, datasources in the datasources directory. Won’t be an issue immediately if you don’t but as your usage of the tool grows you’ll thank yourself for keeping things neat and tidy.

Tip 3 – Swap Rows & Columns

As simple as it sounds. Hit CTRL-W to swap your shelves around. Hit it again to revert.

Tip 4 – Tooltip Persistence

It really annoys me how tooltips disappear after approx 8 seconds or so. I use them all the time to provide context in meetings.

If you want the tooltip to hang around, then position your mouse over either one of the command buttons or one of the actions / links on the tooltip (if present). That will stop it from clearing. When you want it to go then just move the mouse away.

Not sure if it has been resolved in later versions. I know there was an enhancement request in.

tooltipI

Tip 5 – Cell Size Hotkeys

Don’t bother fiddling around with grabbing the edges of cells with your mouse. Use these hotkeys under the “Format” menu of Tableau desktop.

cellsize

Ok that’s it for the first TTT. More to come later. Hit me with your TTT’s in the comments or @paulbanoub.

Cheers, Paul