Use the following workaround:
- In the Data pane, right-click the data source, and then select Duplicate.
- Select Worksheet > New Worksheet.
- Using the duplicate data source, rebuild the view on the new sheet.
- Open the Dimensions drop-down menu, and then select Hide All Unused Fields. For more information, see Hide or Unhide Fields in Tableau Help.
- On the Filters shelf, right-click Measure Names, and then select Show Quick Filter.
Thanks for your solution. It may solve case similar to mine, but not really solve the issue here.
I didn't mention on my initial post, I used custom SQLs to create joins and get a single large composite data source, I think my real question should be how to hide unused fields across different data source (in my case, it would be different data sources from different SQLs).
Actually the solution is very simple, on the left panel, under measures section, hide all unwanted field in each SQLs, you can name SQL 1 to be data source 1, and so on, finally only let the calculated fields unhide, then the measure name filter will only show the unhide calculated field, the measures from each SQLs will no longer be displayed.