This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
on 03-31-2016 02:57 PM - edited on 07-27-2021 11:42 PM by APIUserOpsDM
The ‘How to Guide’ for the Publish to Tableau Server Tool
This article is for version 1.0.9 or older of the tool. For steps to configure version 2.0+, please see this help document.
The partnership between Alteryx and Tableau is becoming stronger and stronger, and the seamless effortless integration has been made easier through the Publish to Tableau Server Tool.
You can download the tool from the Alteryx Analytics Gallery. Once you have downloaded the tool you should be able to find it in the Connectors tool category.
Now once you have downloaded the Macro you are ready to configure the tool and Publish to Tableau.
Step 1: Access
You have to have access to an instance of Tableau Server ( 9.0.1 and above) or Tableau Online to use this tool and publish a data stream to tableau. Unless noted otherwise, Tableau Server and Tableau Online are interchangeable throughout this document and throughout the tool's configuration. For the sake of brevity, “Tableau Server” will refer to both Tableau Server and Tableau Online for the remainder of this document.
Step 2: Configure the Connection
This macro gives you the choice to either connect directly to Tableau Server through the web browser or through the server URL.
‘Connect with full page URL’
When you log into Tableau Server navigate to the workbook page you are looking to write to. This is the recommended option. You can then copy the whole URL into the text box given in the interface.
‘Connect with server and site’
With this option selected, you must enter in the domain name for the Server URL (eg, https://10ay.online.tableau.com using the example above).
Tableau Server is designed so that multiple "sites" can be hosted on the same server instance. Use the guidance below to determine your site name when you log in to Tableau Server from a web browser.
With Tableau Server, immediately after entering in a user name and password, one of two things will happen:
1) The user is prompted to select a site. If this happens, the site selected here can be entered into the “Enter site name” field
2) The user is logged directly into Tableau Server, without having to select a site. If this is the case, then the user should select the “Use default site” option.
With Tableau Online there is no default site and you will always need to manually enter the site name with this option (one of the reasons “Connect with full page URL” is the preferred method, especially when connecting to Tableau Online). Once you log in, the URL should be something like: https://10ay.online.tableau.com/#/site/mycompanyssite/workbooks. The site name will be the string contained between the slashes following "#/site/". In this example, the site name would be mycompanyssite.
Once you have chosen your connection you can choose to ‘save connection history’ which will keep your credentials and connection within the ‘select existing connection’ radio button. This will populate a dropdown with all your previous successful connections.
Step 3: Enter your username and password
At this stage please enter your username and password for Tableau Server, the same as when logging in through a web browser.
*Please see common errors if you are receiving an ‘Error 400000 Bad Request message’
Step 4: Let's move to the Output tab
By default the ‘Publish data source’ will be selected. At this stage you will need to type in the newly created data source on Tableau Server. The data source name is case sensitive and needs to be accurate.
You can either manually type in the project name or choose ‘select project name’ which will only populate if you have ‘Refresh project name list…’ ticked and have run the module once. If the ‘Refresh project name list’ option is checked, no data will be published to Tableau Server – this is simply a setup step to get the list of available projects put into the dropdown!
Step 5: Output Options
Once you have the correct data source and project name you can choose your output method. “Create data source” will generate a new file in the specified project folder, however if a file already exists with the same data source name, the file will not be uploaded and will give an error.
The second option is “overwrite data source”. The file will be uploaded regardless of whether the file exists or not in the specified project folder. If a file with the same name already exists, it will be overwritten.
Step 6: Optional
If you choose to select the “request authentication token” option the macro will provide an authentication token in the X-Tableau-Auth field. This can be used to make subsequent calls to the Tableau Server REST API with the Download tool or other tools such as curl. The data source will not be published.
Tips and Tricks
Make sure the tool is up-to-date!
Visit the Publish to Tableau Server tool’s Gallery page by going to gallery.alteryx.com and navigating to the Macro District, or by going directly to this link.
Then, check the version of the tool by right-clicking on it, and clicking “Open Macro: Publish To Tableau Server.yxmc”. Then, in the workflow configuration window, click on the Meta Info tab.
[Note: v1.02 and earlier do not show the tool version, in which case you should update to the newest one by downloading it from its page on the Gallery!]
Do your homework!
Log into the Tableau Server or online and retrieve the connection URL name! You only need the URL up to the workbook you are writing out too.
Check the small print!
If you choose the ‘select project name’ make sure you tick the ‘refresh project name list’ and run the module once to populate the drop down. (And again, when the tool is run with this option checked, no data will be published.)
‘Refreshing’ the data source
Using the new Publish to Tableau Server tool, even if you are successful, it will not “refresh” the data source automatically. This means you’d have to do it from the Tableau side. Within Tableau you can set up interval refreshing which will refresh on the Tableau side periodically. However, you can also refresh manually as well.
Payload is either malformed XML or incomplete
This is a limitation in the Tableau Server API, that we’ve communicated to Tableau, but are awaiting a response/fix so it’s a bit outside our control. If your password contains any characters that require xml-escaping double/single quotes, greater than, less than, ampersand, or percent sign – “ ‘ < > & %) – then the login request will fail. This is especially true if your password has two special characters in it. The latest Publish to Tableau Tool has been built to handle the majority of these special characters however if you continue to experience this error message, the current workaround is to change your password to avoid special characters or include just one of the above characters.
Tool #200 Iteration limit of 1000 was reached
This error has been resolved in the latest version of the tool. Please download it here.
Tableau Data Engine Error: 4: SimpleDatabase::SelectMetadataName: expected found=1, actual found=0 (fk= name="Extract" nameTable="TEST") The table "[Extract].[Extract]" does not exist. Unable to connect to the file "C\Desktop….". Check that the file exists and that you have sufficient access privileges for it.
This error has been resolved in the latest version of the tool. Please download it here.
If you continue to have problems with the Publish to Tableau Tool please contact Support.
Client Services Support Engineer
Agreed Jason. Alteryx, is the ability to incremental included in the roadmap?
A Tableau append macro does exist through Invisio, an Alteryx partner, which have modified the current macro to use the append functionality.
I can't see this suggestion on the ideas page as well, which is where development get their roadmap from. Feel free to suggest it there and we can all star it to get it added to the roadmap :)
It would appear that all the links to the actual tool in this post are now pointing to a version on the Alteryx gallery that never loads, going through the gallery now shows me two versions of the installer, one of which is the broken one the links in this post reference and the other is the new one that does load.
This is the working link: https://gallery.alteryx.com/#!app/Publish-to-Tableau-Server--Installer-/58f7e758a18e9e18fcad65a7
This is the broken link: https://gallery.alteryx.com/#!app/Publish-to-Tableau-Server--Installer-/58f7b936a18e9e18fcad4f74
Hope this helps - Clive
@CliveM Thanks for bringing this to our attention. I can confirm your findings are correct.
@JordanB Can we please update this article with the correspondent updated links to the Public Gallery site:
Today I used this tool to write to a Tableau server. I started the process by using a small file of weather data that was successfully written.
When I switched to another data source, I experienced the Rest API 400000 error. This error had nothing to do with my password, but there is a closely related issue.
When you give your data source a name (see picture below), you cannot use the special characters.
Successful name: TE_Test_Extract
Unsuccesful name: T&E_Test_Extract <- The & caused the Rest API 400000 error.
Also, when I checked the box for "Refresh project name list", I wasn't able to write to the Tableau server.
I just thought you'd like to know about these issues.
Thanks for the heads up I will raise this with products but I suspect this may be something to do with the tableau API and special characters.
I am not sure if this question is for Tableau, Invisio or Alteryx. Hope the community members can guide me to the right direction.
I used an Alteryx macro to publish data to Tableau server before. However, I cannot append the data to the server. Then I found a post in the community about Invisio and gave it a try.
It looks like there is no problem with overwriting the data. However, I still have a problem with appending the data.
The workflow, even though, runs without error, it doesn't look like the data are uploaded to the server (fig 1). Normally, when the data are uploaded to the server, there should be the messages upload results (fig2).
Any advice is appreciated. What am I doing wrong??
@danielbrun2 please see above. Please suggest another avenue of communication to @Watsa if you wish to take this offline.
Hi @JordanB and @danielbrun,
This afternoon, somehow, the issue I posted in the morning was resolved. I believed I might have chosen "Refresh Project Name List" in the macro.
However, the new issue is still with the append data.
Below is the error code. I know that the error code is from Tableau server, not Alteryx. It is strange that I can overwrite the data without any problem. Using the same settings except Append, it still does not pass. I am not sure if this is something to do with Invisio macro itself. I went to their website and cannot find a way to contact or request support.
Error: Publish to Tableau Server Append (145): Tool #592: Record #1: Tool #18: Tool #4: Tableau Server API Request (Publish file) Error Code 400011: Bad Request -- There was a problem publishing the file '13489:033063CDE3A946729183542891254419-2:0'.
I am using Alteryx 11 and Tableau 10.1. Wonder if the macro is not compatible with either of these. Also, I will post the Append data to Tableau Server on the idea suggestion forum.
I have removed the Invisio macro and used only the macro published on the Alteryx Gallery (ver 1.08, https://gallery.alteryx.com/#!app/Publish-to-Tableau-Server--Installer-/58f7e758a18e9e18fcad65a7). It turns out that I have gotten the first issue even though I did not select "Refresh Project List". I did follow your instructions and here are my screen shot.
1. Create a workflow with a 10-record text input.
2. On the Publish to Tableau Macro node, select "Create data source". The data was converted from yxdb to tde and successfully uploaded to the server.
3. Change to the second input node with the test data to append.
4. Change the setting on the Publish To Tableau macro to "Append data source". As you can see in the screen shot below, the data was converted to yxdb. However, there is an error message on the Macro value "outputType". Then the process stops. I am not sure if that is the case whether the macro supports the "Append" function.
I check and refresh the data on Tableau server, there is no incremental data added.
Again I am using Alteryx 11 and Tableau server 10.1. The server can append the data from any relational database without any problem.
I was told that the macro might not support Alteryx 11. So I installed Alteryx 10.5 and 10.6 on another computer. However, I cannot import the installer either with this error.
There was an error opening "C:\Users\watsacha\Downloads\PublishtoTableauServerInstaller\Publish to Tableau Server [Installer].yxwz": This document was created by a more recent version of this application and cannot be read.
So far, I am giving up now :) and waiting for the engineering team to updated the macro for Alteryx 11. Please help raise the idea here, https://community.alteryx.com/t5/Alteryx-Product-Ideas/Append-data-to-Tableau-server/idc-p/59820#M38...
Thank you very much.
I am somewhat newer to Alteryx so I am unsure of how to decode the errors that I am getting when trying to use the Publish to Tableau macro. I'm trying to figure out if I am having an issue with my Tableau server or if its Alteryx or a little of both.
Publish to Tableau Server (2) Tool #200: ParseError: An exception occurred! Type:UTFDataFormatException, Message:invalid byte 2 (N) of a 3-byte sequence. at line 542 and column 4646¶while processing "C:\ProgramData\Alteryx\DataProducts\DataSets\Content\PublishToTableauServer\TableauServer.GetProjects.yxmc.support"
If anyone can help me understand whats going on here I would greatly appreciate it. My gut is telling me that it has something to do with my password..
I've tried to download the Publish to Tableau Server tool from this website: https://gallery.alteryx.com/#!app/Publish-to-Tableau-Server--Installer-/58f7e758a18e9e18fcad65a7. I'm having issue with it. It kept on saying it's loading, but nothing was being loaded. I waited for it to load for over an hour. Is anyone else having this issue? Any guidance would be greatly appreciate it.
I got a message from @Ben Gomez about the newly updated macro that would resolve the data appending issue. Just want to confirm the new macro works perfectly with my simple test data.
THANK YOU SO MUCH.
I am getting a new error out of the blue and I haven't found anything within the community on it yet - hoping someone here can help.
The error reads: Tool #592: Record #1: Tool #34: Iteration #1: Tool #11: Error transferring data: Server returned nothing (no headers, no data)
I dug in and found that the "Tool #592: Record #1: Tool #34: Iteration #1: Tool #11" is the download tool within the TableauServer.UploadChunks support macro within the TableauServer.PublishTDE support macro. I looked all over the community for something on this error with regards to the download tool, but had no luck.
Has anyone recieved this error before? I am stranded here. Any help would be much appreciated.
I am getting the following error having followed the above instructions closely
Error: Publish to Tableau Server (18): TableauServer.Login: Tool #4: Tableau Server API Request (Sign-in) Error Code 401001: Signin Error -- Error signing in to Tableau Server
Alteryx version 11 Tableau server version 10.2.3 and the version of the macro 1.08.1
UPDATE: I just had to close and reopen Alteryx and the macro section showed up... thanks to @NeilR write up on another macro which included some instructions for those of us new to installing macros in Alteryx.
To install it into your Alteryx toolbar (in the Join category), click the "Download" button above and extract the downloaded .yxzp file into your custom macro repository.
If you do not yet have a repository set up for saving custom macros (to have them appear in your Alteryx toolbar), follow these directions:
-From the Alteryx "Tools" menu, choose Tools->User Settings->Edit User Settings
-Choose the ‘Macros’ tab
-Add a search path to the folder where you extracted the macro
I've downloaded the latest tool from the gallery, but in the zip there's no package to open and import the macro. Basically I just get the underlying workflows. Am I missing something?
The Publish to Tableau Server tool is on the Gallery as a YXI file, which is a file type that Alteryx recognizes as an installable tool and will automatically add to the tool palette. Some browsers (annoyingly) automatically convert the YXI to a ZIP file, which appears to be happening for you. Either try another browser, or manually change the suffix of the downloaded file from "zip" to "yxi". Then open the file with Alteryx, and the tool will be installed into the "Tableau" tool category in your palette.
Thanks for that feedback worked like a charm when I used Chrome instead of IE!
Quick question on this topic.
I have a data source published to Tableau server that I am trying refresh more so than trying to overwrite. What I mean by this is that in the published data source, I have metadata like calculations and folder structure that I do not want to lose. Every time I use this this publish tool, it loses all of that metadata and just publishes the raw data.
Has anyone looked into and solved this yet? I took a quick glance at the Tableau API documentation, but did not find any promising functions for this.
Thanks for this!
I've got the same question as dK. Maybe I'm missing something...we've got Tableau Server published data sources that are using a Tableau data extract for the data *and* have a set of metadata (Tableau calculated fields, aliases, sets, etc.). As far as I can tell the existing Publish to Tableau Server tool only overwrites the existing published data source with the extract, so if we use that tool then the metadata would be lost. Is there any way to configure the tool to not overwrite the metadata while refreshing/updating the extract? And if not, has anyone built a variant of the tool that does that? (Otherwise I'll have to build one myself).
In looking into the build-it-myself option what I'm thinking of so far is roughly:
1) Make a connection to Tableau Server using the existing tool to get the auth token.
2) Download a published data source using Tableau's REST API and the download tool. This will get a .tdsx file in our case.
3) Unpackage the .tdsx file using a zip utility.
4) Find the .tde or .hyper file in the .../data folder in the unpackaged data.
5) Replace that with the new .tde or .hyper file.
6) Republish the source (probably via copying some of the existing tool to deal with publishing large extracts).
Maybe I'm missing something in the question, for me I'm using the Append output option on the output tab and that allows me to keep updating the data, however have to use the Overwrite if I accidently append a file into the data source twice...
@jonathandrummey Found that exact same process, and was hoping someone had already started down that road before building from scratch :) Let us know if you make any progress with that, and will probably embark on doing something similar too if there is nothing currently out there.
@NJT - Appending data does in fact still maintain calculations, alias's, folders, etc, but you will notice that the overwrite option does not just overwrite the data, but clears all of this metadata too. We are referring to data sources that were published to the server after making modifications/calculations in Tableau (reason being to standardize calculations if others are connecting to that data source on the server).
We have 2 environments available for the Alteryx server, Prod and Non Prod.
When I publish my workflow to the tableau server, It is working on one the Non prod environment and not the other. What could be the possible reasons? The Workflow is able to connect to the macro in both environments and they have been installed in the same manner. The connections are also the same. Is there any access that needs to be provided on the Tableau end? If that is so, why is it working in one environment only?
Can you check you have write API permissions on the tableau server. This error is usually returned from the Tableau end.
Also, it worth checking to see if they additional security such as SSL or proxies around the prod tableau server.
I have updated the Alteryx designer 11.3 to 11.7 Yesterday. When i trying to run existing workflows using new version of Alteryx designer I received some error in publish to Tableau server tool Aanyone help me to resolve this issue.
Do you the admin version of Alteryx? Can you also make sure you have the latest version of the publish to tableau server tool installed.
Yes I am running the admin version of alteryx designer.
Now it's working, After I have updated the publish to tableau server(latest version ) as you mentioned.
Thanks for your help..!
Hi there. Hoping you can help.
My Publish To Tableau Server works fine when I run it. However many of my automated schedules are failing. The most common error message is:
Error: Publish to Tableau Server (37): Cannot find macro "PublishToTableauServer\Publish to Tableau Server.yxmc".
With that being said, I already specified the path in the User Setting under the Macro Tab. I also selected the "All UNC" in the workflow dependencies.
Do you have any idea on what is causing the failures? Right now I'm running Alteryx Designer 10.5 64 bit.
The most common reason for this error is that the path for the Alteryx Server and your own client are different.
When you drag in a macro from the ribbon it is per definition relative. Therefore "All UNC" will not affect it. Do you have some workflows that work and some that don't? And do you get any warning when running the workflow locally?
Hi, When I try to publish the output to two separate tableau servers (using two output tools), then the workflow fails.
These tools work well individually within independent workflows, but when placed together in a same workflow it blows up...
I guess this issue is from Tableau side, because Tableau won't allow multiple instances of parallel signing-in. Anybody face the same situation?
Can you try a block until done at the branch where you go and publish to two tableau workbooks. This would be a good test for your suggestion above
The path is definitely an issue. It works locally. I'm not getting any warning when I run it locally. My scheduled workflow fails. That's when it tells me that it cannot find the path to the yxmc. I expect that it cannot find the yxmc network path, but have no problem finding the one specified locally. Is there a way for me to locate the path of the yxmc on the network without involving my IT or Digital Analytics Team? I'm facing with a lot of changing at our location, so it's very difficult to get to the bottom of things.
Is this scheduling via the Alteryx Server or a designer with scheduler license?
Please post a screenshot of the error you receive from the schedule. I believe it might be a permission issue.
Just trying to use this tool and wondered i it was updated for 2018.3 yet? Error message I'm getting using 2018.3 is : Status 401: Unauthorised, and a 401001 error signing into tableau server
Any help would be great
Typically this error appears when you don't have access to a particular site on Tableau Server. Have you specified a site in your config?
Thanks for the reply Jordan, I'm trying to access Tableau Online and did specify a site in my config but not sure I'm doing it correctly. Do you have an example template you could screenshot to send over?
Hi Jordan, I am receiving the following error "TypeError: Cannot read property 'token' of undefined" when i try to hit connect. I am using Tableau Online and attempted to connect following your recommended steps:
"With Tableau Online there is no default site and you will always need to manually enter the site name with this option (one of the reasons “Connect with full page URL” is the preferred method, especially when connecting to Tableau Online). Once you log in, the URL should be something like: https://10ay.online.tableau.com/#/site/mycompanyssite/workbooks. The site name will be the string contained between the slashes following "#/site/". In this example, the site name would be mycompanyssite."
Attached is a modified screenshot of my setup (in my actual attempt, I input my correct username and password and replaced "mycompanyssite" with the correct verbiage for both the Server URL and Site inputs)
I was able to get the tool to work in the "Tableau Online" environment using the following set up:
*Note - mycompanyssite in the Server URL field comes from https://10ay.online.tableau.com/#/site/mycompanyssite/workbooks
I'm trying to publish a workflow that contains the "Publish to Tableau Server" to my Company's gallery, it works just fine on my local device or my server machine. I've installed the tool to both of my device and the server machine, yet, i'm still getting the error when i publish the workflow that the entry point is not valid and the it can't find the "Publish to Tableau Server" tool.
There is a folder in the path:
C:\Users\<username>\AppData\Roaming\Alteryx\Toolsbut there's no folder in the path:
C:\ProgramData\Alteryx\Tools , I've created this folder and copied the tool files, yet, i'm still facing the same error.
Any clue how can I solve this?
Thanks in advance
Yes, I've installed it to all users. Yet, when I use the tool, I can only use the one in my user in the server machine, not the one in the C: for all users. Therefore, I still can't publish a workflow that contains the tool.
Super frustrating, I would really appreciate your support
Running Alteryx V 2018 3.4.xxx and the Publish to Tableau Server Macro V 2.0. My issue is that I am looking for the option to request a X_Auth_Token and I dont see the option - I plan to use this in conjunction with a download tool to run Rest API commands - any assistance would be appreciated.
~ Eric Marowitz
Can you supply a screenshot ? I didn't think the macro required a token at all.
I think you should create a new thread to get proper help with your problem, but try supplying a username & password and get properly authenticated. I've never used the macro to get a token, but I'm guessing you would need a valid user/password to begin with.
I am able to log on - I deleted my username/password purposely for the screen shots. I will do as you suggest and start a new thread.
Its weird as the instructions in the beginning of this thread refer to the option I am looking for but as you can see from the screen shots, that option in this version of the tool doesnt seem to be available.