Comprehensive and Detailed Explanation From Exact Extract:
Tableau allows certain calculations to be materialized in extracts, meaning they are precomputed and stored inside the .hyper file to improve performance.
According to Tableau’s extract documentation:
Materializable calculations must be compatible with the extract engine and must not depend on dynamic, view-based, or post-query logic.
Only row-level calculations and aggregation-level calculations without dependencies on runtime context can be materialized.
Tableau cannot materialize any calculation containing:
Table calculation functions
Functions requiring post-aggregation logic
View-dependent elements
Parameters that need runtime evaluation
Evaluation of the choices:
A. A row-level calculation — Correct
Row-level calculations operate on each record individually before aggregation.
Tableau documentation specifies that these calculations can be pushed down into the extract and materialized because they do not depend on the visualization or user interaction.
Examples include concatenation, arithmetic, string manipulation, and row-based logic such as:
[Sales] * [Quantity] or IF [Region] = 'West' THEN 1 END
These can be precomputed inside the extract, improving performance.
B. A calculation that contains table calculation functions — Not allowed
Table calculations (WINDOW_SUM, INDEX, RUNNING_SUM, RANK, etc.) depend on the table structure after aggregation and query execution.
Therefore, Tableau documentation states they cannot be materialized in extracts.
C. A calculation that contains parameters — Not allowed
Parameters are evaluated at runtime, meaning the user can change their value.
Because of this, Tableau cannot permanently compute and store such a calculation inside an extract.
D. A calculation that contains an aggregation — Generally not materialized
Aggregated calculations often depend on query context and cannot always be materialized.
Only simple, context-free aggregations might be materialized, but Tableau explicitly warns that aggregations are not guaranteed candidates for extract materialization.
Thus, this is not the best answer compared to row-level logic.
Conclusion
Only row-level calculations meet Tableau’s exact requirements for materialization in extracts.
References From Tableau Consultant Documentation
Tableau Extract documentation describing materializable calculation types.
Tableau guidance stating table calculations and parameter-dependent calculations cannot be materialized.
Extract optimization guidelines describing row-level logic as eligible for materialization.