I understand your frustration. I don't understand the whole behavior of extract yet, but here are some my experience.
If you create new formula with connecting to "Extract" on your local PC.
Once you change the connection with killing "Use Extract", all the formula you made on "Extract" are gone, I'm afraid...
The formula is saved as the query, data source change is always the issue.
So I recommend that you saved formula as text outside Tableau before change connection back to original from Extract.
Then paste that formula back.
Again I'm not 100% sure, and let me know you see different behavior.
2 of 2 people found this helpful
The performance will definitely change. Right now, speed of your dashboard would be dependent on factors like how well the dashboard is built for performance, available resources to compute/render, and network speed to serve you the data. If you have the data source locally instead of on the server, you've completely removed network/bandwidth/latency from the equation.
My best advice would be to right-click the data source and select Create Local Copy. Save this wherever you like. Right-click the version published on the server, select Replace Data Source, and make sure you replace it with the local copy. Make sure your dashboards all look ok after this swap. If they do, it's likely to swap back cleanly. Then you can just build against the local version, and before publishing do the same Replace Data Source steps, but in reverse, pointing everything back to the Tableau Server data source.
Hope that helps.
Thanks Shin and Ben.
I'm trying the move to local copies of the data sources for now (as Extracts). I did the Create Local Copy and Replace Data Source process. I seem to have lost some of my calculated fields, but I'm going to try to recreate them and use this path for some more authoring before attempting a new "publish to server" process.
Will let you know how it goes...
PS - I still don't have a clear understanding of if there's ever any reason to use an extract of a published data source that is itself an extract (or what that would really be doing).
I can't think of a single valid use-case of this (maybe I'm not creative enough), unless it's to obfuscate the logic in calculations.