Wednesday, January 30, 2013

Issues Publishing Workbooks to Tableau Server

Today, let's talk about a couple of issues I've run into while publishing workbooks to Tableau Server.  As with all projects, the most important part is the delivery.  If the client never sees the product you slaved over, then what good did it do?  Tableau Server is a great mechanism for this.  You can work via Tableau Desktop on your local machine, and just publish them to Tableau Server.

Issue 1:  Include External Files

If your workbook runs off of a local extract, you will have to publish the extract to the server as well in order to have any data.  However, I was unaware that this applied to Custom Geocoding as well.  My workbook did not run off of a local extract, so I didn't see the need to include any external files.  I was wrong.  When I attempted to look at the workbook on the server, I would get an error and none of the graphs would display.  It turns out that "Include External Files" applies to local extracts as well as custom geocoding.  I haven't found a case where it was disadvantageous to check this box.  If you have, feel free to comment.

Issue 2: Packaging the Workbook

I had a worksheet with no external files that ran perfectly on my local machine.  However, when I published it to the Tableau Server, I would get an error saying "Field is invalid" and nothing would display.  Through trial and error, I found that the field was a necessary Date field.  Finally, I discovered that packaging the workbook would fix the problem.  I'm still curious as to why this is.  Needless to say, I always package my workbooks before I publish.

Issue 3: "Ghost" Columns

Once, I ran into an issue where I had an invalid field that was not appearing in Tableau Desktop, yet was causing an error on Tableau Server.  The error said something like "[Calculation_280932] is invalid."  I found a solution on a forum that I've forgotten how to find (Sorry to whoever wrote that, I wish I could credit you).  First, make sure there are no hidden fields in Tableau Desktop.  If you open the Tableau Workbook using Notepad, or some other rudimentary text-editing software, you can look at the XML code defining the workbook.  If you search for "hidden", you may find that there is a column that is labeled as hidden, even though it wasn't visible to Tableau Desktop.  If you delete this column, everywhere else it is called, and any syntax it leaves behind, you will have effectively eliminated it from the workbook.  Now, you can publish the workbook with no issues.  I HIGHLY recommend saving a copy of the workbook before you edit the XML code.  It would be very unfortunate if you broke your workbook with no way of repairing it.

I hope you found this informative.  If you have encountered any publishing issues and would like to share, feel free to comment.  Thanks for reading.

Brad Llewellyn
Associate Consultant
Mariner, LLC
llewellyn.wb@gmail.com
https://www.linkedin.com/in/bradllewellyn

4 comments:

  1. Hi Brad,
    I have a couple of questions around "Include External Files".
    I am connecting to text files as a data source. The text files are stored on an “available” file share.
    I have also used some images in my dashboards which are also stored on the file share.

    Case 1: When I select the “Include External Files” option while publishing, does this mean all the source files, images are loaded to server and Tableau refers to that loaded version of the files? This means the files on the file share are not accessed anymore? The source files on the file share are refreshed every day. So I want Tableau to connect to the files when querying data. In this case, is it recommended for me to check this option or not?

    Case 2: Another scenario is when I have created an extract from the source file which is scheduled to refresh once a day. This is also stored on the file share. When I publish with the “Include External Files” checked, does it mean Tableau loads the extract file onto the server and does not refer to the extract file on the file share? OR will tableau respect the refresh schedule settings, refresh the extract and refer to the updated extract file on the file share.

    ReplyDelete
    Replies
    1. Hmmm...these are extremely good questions. To be fair, I've never delved deep enough into this area to speak to the intricacies of external data. However, I can say that one thing.

      If you are publishing your workbooks to Tableau Server, then you should also publish your data to Tableau Server as well. If you are running this workbook off of a text file, why not publish the file as a Tableau Data Extract to the Server and set a refresh schedule. Then, you can run your workbook off the published extract, which will be faster than your text file. It will also allow you to apply some types of transformations in the extract and apply user-level security to the file.

      Basically, I can't think of a reason why you shouldn't extract the text file and publish it to the server. Do you agree?

      Delete
  2. when i publish a sheet with text on tableau server and share it the sheet/text becomes an image

    ReplyDelete