Easily and out-of-the-box? No.
Curious how anyone has done this in a custom way...
We do this by calling tabcmd runschedule at the end of each ETL cycle. It makes a call to Tableau Server and instructs it to run the extract refresh schedule we specify, ensuring that all extracts being refreshed on that schedule are refreshed as quickly as possible once the ETL cycle completes and potentially reducing wasted extract refreshes if it's not complete.
Caveats are that there's no way to prevent any user from associating their content with that schedule, so you need to keep an eye on what's on it. It may help to title the schedule something like "Admins Only" or somesuch to cue users not to use it without permission.
Hope that helps.
Is it possible to run tabcmd runschedule from ETL (informatica ) events . Only pain I am feeling here ,Information installed over unix machine and tableau is over windows . will they be able to communicate ? if yes , how a tabcmd command(windows) can be triggered from information sessions or events.
I am not good at all on these OS trap .
Thanks Matthew for your reply !! helpful at least we have a path to work on.
An alternative might be a "pull" approach--have a script on a Windows machine poll the Informatica server / data at frequent intervals to test for ETL completion--if it is, it can call tabcmd runschedule directly from Windows. It'd take a little more work but could be done. We're actually looking at moving this direction ourselves just so we can separate the ETL server administration duties from the Tableau Server administration duties more thoroughly. If you run tabcmd runschedule from your Tableau Server host, it also eliminates the need to ensure your tabcmd version stays in sync with your Tableau Server version when you perform upgrades.
You have mentioned that you run tabcmd runschedule at the end of each ETL cycle. Do you have any automated system which keeps the data tracking or have a kind of flag feature in DB which get set upon receiving new data? and that set flag triggers the script to run tabcmd runschedule.
Consider me as novish , trying to drill it down.
Thank in advance.
Hey Chintan. We have triggered the schedule execution in two different ways so far:
- By using a SQL Server job step to run the appropriate tabcmd command (or the slightly more mature version, calling a scheduled Task on Tableau Server to call tabcmd). See this thread for details on that.
- By calling a PowerShell script that polls the database with a query that returns a single date/time value as its resultset. That result is then compared to the last time the schedule was run which is stored in a local text file. If the dates don't match, the schedule is run.
The second one is the more complex solution, but if you have lots of different ETL processes running at various times, it can be handy.
I think you can also use autosys.