1 of 1 people found this helpful
Are you using extracts or live data sources? If extracts, then generally speaking, calculated fields are materialized within the extract. So, in that case, I would think that it would actually be more performant to create an actual calculated field rather than an ad-hoc calculation.
Here are a couple of very good blogs on optimizing performance:
Just to elaborate on this.
In-sheet-calculations are actually marginally slower, not only due to materialization, but also because they are considered "unique" calculations even if they are the same.
This means that if you do the same calculation on 2 sheets it is considered two different calculations and as such won't be the target of Query Fusion due to different temporary names.
I know because I had a client with 6 info icons on a dashboard that all just contained the string calculation 'Info' which was in-sheet-calculated, when we swapped for a calculated field, Tableau only queried the source once instead of 6 times.
Basically, the queries before the change looked like this:
"Info" as temp_123
"Info" as temp_234
Whereas afterwards it became
"Info" as calculated_field_name
I never thought of this, but it makes total sense. I personally never use in-sheet calculations, so this sounds like one more reason to avoid it.
It is one of those things that saves you a fraction of time in the short run but cost you a series of headaches in the long run :-)