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.
Hey all - hoping for a little help here. From what I've seen this may be a limitation within Alteryx but I'd like to confirm before creating a work around.
My company is too cheap to pay for the other Tableau server instance that we would need to support the approx 2k external users that we have created content for. The solution is to create a .pdf for every 'customer' and email it to them on a monthly basis.
The approaches I have tried:
I had created a workflow to upload a hyper extract to the Tableau server, then I created a batch macro that created Tabcmd commands executed in a batch file with URL parameters. This did not work because Tableau server can only process URL parameters for each view, not the entire workbook. As the workbook has multiple tabs, this method will not work.
My current approach is to create an extract within a batch macro and publish the extract to the Tableau server via Tabcmd. Once that is done export the .pdf file via Tabcmd to a folder and modify the file name. When I save an extract file to the target folder and upload it via Tabcmd in command prompt, it works perfectly. However, when I attempt to run the workflow, the extract that is saved as part of the workflow cannot be accessed when trying to publish to the server.
Approaches that I can think of but have not tried (they seem much less than ideal):
I could push up one extract to the Tableau server and create a batch macro that would call, via Tabcmd, each view within the workbook and pass in the relative URL parameters. Then once that is done I could use another .pdf command line tool to 'smash' all of the related .pdfs together from each view into one file. This assumes that I will not run into the same Alteryx limitation of files being locked while in the workflow.
I could create all of the separate extracts in one workflow (about 1,600 a month), and also create a huge .bat file that would process all of the extracts in that folder. Create another workflow that would kick off after the extracts are all created that would execute the created .bat file. Once .pdf files are created I would then have to create another macro to email said .pdf files
Since the login and logout process in Tabcmd takes the largest amount of time, I am modifying the batch file output for each run to identify whether or not we are at the beginning of a 1k record chunk, in the middle, or at the end. This way I only have to login and logout of the server every 1k records instead of every time. This part works as expected.
WorkflowBatch processing, one per customerSave extractWorkflow error
Hi I think I might have done something similar and might be able to help you but it’s probably worth a call to understand if the situation is exactly the same. Could you please email me some times that work for you tomorrow/Wednesday (I’m in London) so we can discuss and If we can solve your issue then We can publish solution here to benefit others.
Sorry, I cannot supply the data as it is private and proprietary. I ended up creating a workflow that creates 1,600 extracts and creates a batch file. Then another workflow runs the batch file which uploads the extract to the Tableau server and then pulls down a .pdf version of that workbook. I then email out all of the files in the folder and delete all of the objects.
It took about 4 hours to run end-to-end in this manner. It would have been really nice if the one extract were able to be accessed while in the workflow.
Just a quick update in case anyone else comes across this post.
We caught up over WebEx and the problem is more complicated that I first expected, however, I shared the materials and macros that I presented at Alteryx Inspire 2018 which might be useful for others if your planning on using Alteryx to download and stitch together content from Tableau Server:
Thanks @joe_lipski, I appreciate you taking the time to have a call with me, discuss options, and share your solution. I have decided to stay with my current solution for now and I will post it here once I'm done in the case that others find it useful.