Serving it up tabcmd style - Tableau Server and tab command

by Adi McCrea

Taking control of Tableau Server with tab command

Tableau Server moves work, data and insight from the desktops of individuals to the screens of the people that need it. Upload, share, investigate, publish across an entire organisation. Get insights on insights with reporting based on who is interacting with what. Amazing.

Server can be hosted at your site or in the cloud. It’s flexible, scalable and secure. If you’re new to Tableau Server, or to Tableau full stop, have a read about it here.

There’s a new version too – to see what’s new in Tableau Server 2018.2 have a look at this from our man in the know – Jonathan MacDonald.

This article is going to focus on one little tool that will help you do a bunch of big “stuff” on Server

Tabcmd (tab command).  Here’s how to install it -> magic <-

Here’s why you’ll want to ( also magic )

Having a graphical user interface (GUI) is great. It’s easy to see exactly what is going on and can feel like it’s easier to keep a hold of what is going on. But some operations are cumbersome in the GUI and it can be difficult to automate or schedule regular (or repetitive) procedures without some code. That’s where I see tabcmd coming in. It runs from your desktop command line and behaves like your control room for the sites on your server (or across multiple servers).

For me, I imagine it like this:


What does this mean?

It means upload, move, transfer, delete (and a whole host of other things) within and across sites and servers without repetitive clickety click procedures.

Once you’ve installed and logged in you might want to:

  • download (or get) a workbook from a site on your server:


tabcmd get "workbooks/Sales_Analysis.twb" -f "C:\Tableau_Workbooks\Weekly-Reports.twb"


Let’s break that down:


tabcmd get  -> use the tabcmd “get” command


"workbooks/Sales_Analysis.twb"  -> point the command at the location of the workbook you want. Remember that Tableau workbooks can also have the extension .twbx if they are packaged.


-f  -> denotes a filename.


"C:\Tableau_Workbooks\Weekly-Reports.twb"  -> declare the location in which you want to save the file and include its extension.


  • upload this workbook to a different location:


tabcmd publish "C:\Tableau_Workbooks\Weekly-Reports.twb" -n "Sales_Analysis" 


Again, let’s break it down:


tabcmd publish -> use the tabcmd “publish” command


C:\Tableau_Workbooks\Weekly-Reports.twb -> point the command at the location of the workbook you want to upload from your local drive.


-n "Sales_Analysis" -> give this upload a name on your server. If you omit this part, it will default to the file name (Weekly-Reportsin this case)


  • to delete that workbook from a site on your server:


tabcmd delete "Sales_Analysis"


Here, as in all coding languages, attention to detail is key. Running procedures from the command line can take some time to get used to but here are some pro-tips on syntax to get you started:

  • -s            the name and location of your server
  • -t            the name of the site on your server that you are referencing
  • -f            a filename
  • -u           a username
  • -p           a password

The same suite of commands can be performed across different servers in your stack. It becomes slightly more involved here since there is a requirement to log out of the first server before logging in to the second. But, stick with it! Patience you must have…

Tableau documentation is your friend so be sure to give it a careful read if you’re ready to take the plunge. I’ve pulled the example code from this page.

If you find you’re moving a lot of material around perhaps think tabmigrate (I’m going to leave that for another post…) as a solution to make this more manageable.

Coming soon – that secret sauce – how to do all these procedures in batch and to schedule. Get ready to live your best life…

Want to talk more? Catch me @AdiBop_ on Twitter

© 2022 The Information Lab Ltd. All rights reserved.