We build Alteryx modules to extract data from database into .tde files (Tableau Data Extract file format), which are similar to data marts. Then those modules are scheduled to run daily and overwrite the old .tde files. These files are then published to Tableau server for analytic consumption.
There are two ways of publishing tde files to Tableau server: Pull or Push.
1. The Pull approach
The entire operation is from Tableau Desktop:
- Open the .tde file from a fresh Tableau Desktop
- Edit the data source so that the file path is in absolute UNC form (\\computer\directory\file) by which Tableau server can find it.
- (Extra) Edit data types and change measures to dimensions or the other way around.
- Extract the data again and save the resulting .tde file somewhere.
- Publish the extract to the server and schedule refresh options.
So the result is that the Tableau Server will retrieve the original .tde file at scheduled time. Thus the pull approach. In this approach, Tableau refresh cycle is decoupled from that of the Alteryx schedule.
Note that once a data source is published, you will not be allowed to change those data attributes by the Tableau Desktop, unless you re-extract it, touch it and republish it. This is the reason for which there is an extra step above. I think this is a design oversight from Tableau.
The main advantage of this approach is that you can do data type/dimension editing from Tableau before publishing.
2.The Push approach
The entire operation is from Alteryx Designer.
There needs to install Tableau publishing tools (from the Information Lab) first into your Alteryx Designer. Then add it to the Alteryx module, and specify the Tableau server address and login credentials. The newly generated .tde files are thus pushed to the Tableau Server every time you run the Alteryx module.
Note that it is a good idea to fix all the data types in Alteryx, because once published, users have to change them manually in Tableau.
See this awesome video by the Information Lab:
Hi,
ReplyDeleteThank you for this.
Do you know if the above would work irrespective of if the tableau server sits locally or in the cloud (i.e. aws).
Could one do this using only Alteryx Desktop or would Alteryx server would be needed as well.
I am new to this so i apologise if the question is very basic.
Thanks,
Angelos
Angelos,
Delete1.I used them only locally and haven't tested them in the cloud. I guess the push method may work in the cloud.
2.Alteryx Desktop should work.