3 Replies Latest reply on Mar 5, 2014 4:40 PM by Russell Christopher

    Incremental Refresh

    Jaan N



      I have a workbook with two datasources, one datasource needs full refresh and one datasource needs incremental refresh.

      I am able to run the incremental refresh by using

           tabcmd refreshextracts --incremental --workbook "WorkbookABC"          --project 'ProjectABC'

      But to do full refresh if I use below command, it does the FULL refresh for both the datasources.

           tabcmd refreshextracts --workbook "WorkbookABC"          --project 'ProjectABC'


      Is there any way to do just FULL refresh on the datasources where INCREMENTAL is not defined ?

        • 1. Re: Incremental Refresh
          Russell Christopher

          For your exact question: "I don't know"


          You could get this to work by publishing both data sources to Tableau Data Server, however. You would:


          • Publish each data source to Tableau Server (one with a full refresh, the other as incremental)
          • Use the data sources on the Server instead of the ones in your workbook (you can easily swap them out)
          • Refresh each of the data sources individually with TabCmd.
          • 2. Re: Incremental Refresh
            Jaan N

            Thanks Russell. It worked.


            One more question.

            Lets say I have 3 datasources: DataSourceA, DataSourceB and DataSourceC. I want to refresh DataSourceC only after DataSourceA and DataSourceB are completely refreshed with no errors.

            Is there any way to achieve this ? Below are the tabcmds that I am using.


            tabcmd refreshextracts --incremental --synchronous --datasource "DataSourceA"          --project 'ProjectABC'

            tabcmd refreshextracts --synchronous --datasource "DataSourceB"          --project 'ProjectABC'

            tabcmd refreshextracts --datasource "DataSourceC"          --project 'ProjectABC'


            Appreciate your help.

            • 3. Re: Incremental Refresh
              Russell Christopher

              You’d need to write a batch file which reads / parses the output of each of these commands, looking for a success or failure condition, and then firing the next command conditionally.