You can use the Compute Calculations Now option to materialise calculations in your extract. When calculations are materialised, certain calculations are computed in advance and its values stored in the extract. Depending on the complexity of the calculations used in your extract, this can potentially speed up future queries by allowing Tableau to compute certain calculations in advance. Tableau can then use the precomputed value rather than computing the value each time a query against a calculation is made.
If the formula for a calculation that Tableau has already materialised changes or the calculation is deleted from the data source, the materialised calculation is removed from the extract until you use the Compute Calculations Now option again.
When to materialise calculations
You should not use the Compute Calculations Now option for all your extracts. Instead, try this option only when the query performance of your extract is slow as a result of complex calculations, such as string manipulations and regular expressions.
To materialise calculations in your extract, do the following:
In Tableau Desktop, select the extract data source from the Data menu.
Select Extract > Compute Calculations Now.
Materialise calculations in extracts already published to Tableau Cloud or Tableau Server
If you need to retroactively materialise calculations in extracts that are already published to Tableau Cloud or Tableau Server, you have the following options:
You can download the extract, open the extract in Tableau Desktop, use the Compute Calculations Now option (as described above), and then republish the extract.
As a site administrator or data source owner, you can use tabcmd to refresh the published extract with the
--addcalculationsoption to materialise the calculations. For more information about the tabcmd command option, see refreshextracts in the Tableau Cloud Help or refreshextracts in the Tableau Server Help.
Note: Materialising calculations can increase the size of the extract.
Calculations that cannot be materialised
The following calculations cannot be materialised:
- Calculations that use unstable functions such as NOW() and TODAY()
- Calculations that use external functions such as RAWSQL and R
- Table calculations
- Level of detail (LOD) calculations
- Calculations that use column groups, until the dependent column group is materialised with an extract refresh