Im not sure that I fully understand your issue
You say that "this is working fine, except that we have it set up to refresh worksheets by name, which means we frequently have to modify the list."
Please can you clarify what you mean by this?
Hi Glen Robinson - sorry, that wasn't very clear. Here's what I mean: the current refresh script goes something like:
tabcmd refreshextracts --site "" --project "PROJECT_NAME" --datasource "Data Source #1"
tabcmd refreshextracts --site "" --project "PROJECT_NAME" --workbook "Workbook #1"
Thanks Matt...but I am a bit confused, how can I use this to set up a custom schedule..?
1 of 1 people found this helpful
So if you want all of your datasources and workbooks to refresh, you could do the following
1. create a schedule, and then disable it.
2. Add all the data sources and workbooks (that you want) to this schedule
3. When the time comes (ie DB has been updated, then do tabcmd runschedule <schedule_name>
I think that this should work
All the best
That is so simple and I love it. I shall test and report back, but that sounds like the ticket!
Ah, looks like Glen understood your question better than I did. My suggestion was based on the belief that you were trying to pre-cache your actual visualizations after you refreshed the workbook they lived in. But it looks like you're good now!
For what it's worth, we use the solution Glen proposed on our server as well. One thing worth mentioning is that we used to run tabcmd on our SQL Server instance so that we could kick the schedule off at the end of the ETL cycle. But when you upgrade Tableau Server, you have to upgrade the tabcmd that you are running. So it ended up being easier for us to do a "pull" by having scheduled tasks running from our actual Tableau Server instance that queried our various database systems, then ran the appropriate schedule when it detected a difference in the last run date.
Just tested it - this works a treat!
Really appreciate all the help and input here, from both of you.
Have a great day!