Empty extracts are used for creating literally, pre-defined extracts ready for filling from an alternate source, typically, Tableau Server which usually:
- has larger pipelines than users
- is often physically located closer the data-server than an end-client so suffers very little network lag
- generally has a larger memory and greater processing power than an end desktop client
The empty extract is a method of defining the connection as you would normally but then instructing Tableau with the aid of a parameter to download non-existent data so that the field names and meta are generated, but no data is captured to the extract during the initial process.
- Save your workbook as a .twbx file to ensure the workbook will contain the extracted data
- Create a list-type string parameter, call it something like "zEmpty"
- Add two items of your choosing, but for this, we shall use "T" and "F"
- Now create a calculated field to materialise the output of the zEmpty parameter, call it something useful like zEmptyExtract
- Now, set your parameter value to "T" (or whatever you have used)
- Right-mouse select the connection you want to convert to an extract
- Select Extract Data from the context menu
- Now we add a filter:
- Press the Add... button beneath the filters box
- Add the "zEmptyExtract" field
- Select "T" or whatever value you chose to represent this
- CRUCIALLY now choose exclude to ensure only those fields that do not have the value of 'T' are brought through - all of the data in your source will be marked as 'T' so none of the fields will be transferred
- Press OK to add the filter
- Press Extract to begin the extraction - this will be complete in a split-second as no data will be transferred
- Now save your workbook to ensure the extract is built
- CRUCIALLY change the ZEmpty parameter to anything but "T" so all fields will now have this new value allowing "T" to remain as an exclusion
- Save your workbook once more
- Upload your workbook to your Tableau Server
- Set an immediate refresh so Tableau will now extract all the data