12 Replies Latest reply on Feb 6, 2018 9:58 AM by Scott Schmeling

    Tab Cmd Publish

    Scott Schmeling

      Good Afternoon,


      Is it possible to use Tab Cmd to download a workbook to a different location on the same server and then republish the workbook?


      We are running into an issue where the Workbook is not updating with the latest data from the Extract.  We have determined that this is due to the Cache settings on our Server however, due to the load and usage of the server we are unable to lower the settings much. 


      We did find that when we republish a workbook it does cause the Cache to refresh.  We also can't take the Server down to refresh the Cache with Tab Cmd, and we are not able to keep a person on manually republishing the workbook. 


      We are using Tableau 10.1 and this is an issue I have seen raised in several other places.



        • 1. Re: Tab Cmd Publish
          Sylvain Cogné

          Hi Andrew,


          as far as I know, it is only possible to upload a workbook or to refresh an extract using tabcmd Commands. Using Tabadmin, of course, you would have more options like import/export of the full content of a site or clearing the cache but therefor, you have to be server admin and have access to the hosting server...


          Otherwise, you should consider using the Tableau REST API to script the full process...


          The caching in Tableau server is quite different as the caching in T Desktop and I recommend you to have a look at this chapter  in the following document : Best Practices For Designing Efficient Tableau Workbooks  - pages 56 to 58.


          I don't know if this help but we also had a caching issue that we solved using a tdc file to customize the connection to the data source : TDC Creator

          and also by simply creating a subscription to the concerned view... it make the server generate the request automaticaly and refresh the cache... I know it is a pretty low value solution, but it worth trying...


          I hope it helps




          • 2. Re: Tab Cmd Publish
            Matt Coles

            While downloading the workbook and republishing with TabCmd is possible (tabcmd get / tabcmd publish), I don't think it's necessarily the best way to solve your problem. A few options that may be better:


            • Add a dummy user-based calc into the workbook to invalidate the cache, adding it to the Detail shelf (e.g., USERNAME() = ''). In theory, this would prevent the viz from ever being cached (if that's what you want)
            • Add a visual indicator to the viz to show the user whether the data is up to date or not, and if not, instruct them to hit the Refresh button
            • "Pre-warm" the cache by scripting out a tabcmd export call that runs on a schedule, and use the ?:refresh=y URL parameter to force the cache to clear (see the link for an example)
            1 of 1 people found this helpful
            • 3. Re: Tab Cmd Publish
              Toby Erkson

              Two simpler things to do:

              1.  When viewing the sheet click the Refresh button:



              2.  Use the parameter code :refresh=yes


              • 4. Re: Tab Cmd Publish
                Scott Schmeling

                Thanks Toby but neither of those will work in our case.


                We have 15K users of this report- so Refresh = Y would put to heavy a load on our server.

                The Refresh button does not clear the individual users cache, so it won't work for all users.


                Thanks though.

                • 5. Re: Tab Cmd Publish
                  Scott Schmeling

                  Thanks Sylvain,


                  I will look into the articles you sent.  We are still working with Tableau support on this as well, and they are telling us that 10.5 will solve the issue we are running into- though we want to see proof before updating.


                  We are also looking other cases,


                  1. is our server built robust enough to handle Refresh=Y

                  2. Tab Cmd

                  3. Script with Rest API



                  • 6. Re: Tab Cmd Publish
                    Toby Erkson

                    Andrew Roberts wrote:



                    The Refresh button does not clear the individual users cache, so it won't work for all users.


                    That's a browser settings issue, not a Tableau Server issue and based on my customers usage with this method it does work.  True, it's not ideal.


                    Using the parameter code would work best if the workbook is embedded in a web page.  How is it different than the laborious process of republishing the workbook every time?  Because simply updating the data source will NOT automatically update the contents on the screen, a Refresh will still be required, and that will place some load on the server.


                    I have our server set to Balanced and the time interval is 5 minutes.  This works well for us and is a compromise between a couple teams that makes heavy usage of Tableau, with 5 minutes data refreshes (using Alteryx and Javascript screen refreshes), and thus prefers no caching (i.e. Refresh More Often) and me for better performance (caching) for everyone else.  Note:  These teams are well aware that Tableau is NOT meant for real-time so this is as close as I let them hit the server and not drastically impede the performance for others.

                    • 7. Re: Tab Cmd Publish
                      Toby Erkson

                      I don't see an issue with Tableau Server, I see an issue with conflicting needs:  Your users need this particular workbook with the latest data every time (which is every ??? minutes...you didn't specify) but all of the other workbook vizes should be cached (based on details provided later).

                      • 8. Re: Tab Cmd Publish
                        Toby Erkson

                        We have no way of knowing if your server can handle X situation as you haven't provided us with your environment's details.  You may want to talk with your Tableau Sales Rep, or Technical Rep, regarding if your server can handle the load of multiple refreshes.  They will need to know how the workbook performs (lots of vizes or just one? Custom SQL live query or extract or ???).  There's more details necessary before reasonable suggestions can be made regarding your specific situation.

                        • 9. Re: Tab Cmd Publish
                          Toby Erkson

                          I don't think the .tdc file will affect caching, it's more about customizing the connection to the data source.  These are also unsupported by Tableau and not necessarily simple in determining which settings will work unless you or your dba are familiar with the command options.  We use these for our connections to MS SQL Server and IBM DB2 but only to insure that 'dirty reads' occur so as to not lock records.


                          Creating a subscription of the view sounds like what helped with the caching issue.

                          • 10. Re: Tab Cmd Publish
                            Scott Schmeling

                            Thanks Toby,


                            I didn't want to go into too much detail.  However what we are seeing is:


                            If a user logs in prior to the data being updated on the day it is due then they log in after it is updated, they are still seeing the old data.  This is a fairly rare occurrence maybe 2% of our viewers, however as you know Operations don't want to hear from IT, that you have to wait to view the data until an email is sent.

                            As well, I should have stated the refresh option is good and I have tried to push it.  But once again Operations will not accept that they need to show each of their users to refresh the data.  This is only an issue I ran into here, my last company had no problem with educating the users on how to use and access the data.


                            Our system is pretty maxed out, I just stepped into this role recently here- and am the Developer not the Admin on the system.  Though from what I am seeing we designed this server on the very low end.  FYI our Server is an 8 Core (not sure of ram) and supports multiple dashboards which can be viewed by up to 15K people.


                            Agree, the republishing every time is problematic, right now we are doing it manually each week.  I would prefer to be able to automate if it need be using TabCmd, but am also hoping for some other solution.  I think it was mentioned to try a dummy filter, that I will do and see what it gives us. 


                            Also- the last variable I didn't mention earlier was that the data is not a set day and time that we get it.  It is all dependent on our data team and when they can send it to us, apparently that is not automated either.  Hence the idea of using a tabcmd added to an SSIS package to refresh the Dataset as well as the Views.



                            • 11. Re: Tab Cmd Publish
                              Toby Erkson

                              Andrew, thanks for the details, that helps a lot (we love details!).


                              I would like to know if the dummy filter works for you so please keep us updated on your progress.


                              Funny -- but frustrating -- how one company goes wit the flow and another just throws dams in your path   BTDT.

                              • 12. Re: Tab Cmd Publish
                                Scott Schmeling

                                Will do.


                                And yes it is funny how companies love to operate differently.  Though I wish they would all just go with the flow.