I'm attempting to have a 'single version of the truth' for a dozen reports which share many fields in common (revenue, user count, etc), but also each contains many fields unique to itself.
- Ensuring metrics used in multiple places are calculated the same way.
- Bug fixes/changes to core calculated fields propagate through all reports
- As new reports are developed and calculated fields are created, those fields become available to any report.
- Fields have preset default properties (colors, number formats, aliases, etc) when creating new reports.
- The common set of fields are found in standard folders in each report.
- Bespoke fields for each report do not contribute to extract size or workbook clutter of other workbooks
- Calculated fields don't have to be created twice, duplicated or copy/pasted (as doing so loses default properties....sigh).
- One datasource published on Tableau Server with all fields for all workbooks, each with correct default settings. "Template Datasource"
- Fields unique to any one report are marked hidden. [are hidden fields a property of datasources or just workbooks?]
- A "Template Report" published on Tableau Server with 12 sheets showing the use of most of the standard fields.
New Reports come about in this way
- Download the "Template Report".
- Hide all the standard sheets that aren't helpful.
- Save Datasource as Local Copy.
- Replace reference to original datasource with new local copy and close original.
- Create an extract. [to make it quicker while creating the report]
- New fields would be created, formatted etc as the report is developed.
- Existing fields may get edits. New fields may get added to existing folders.
- Remove Extract [this shouldn't cause problems, as formats/defaults and folder layout aren't tied to the extract itself, right?]
- Publish local datasource as "Template Datasource", over-writing the original and elect to update the workbook to use the published datasource.
- Hide all unused fields
- Create new extract [Hidden fields will be excluded from extract?]
- Published report as "Report X". [Extract will exist for Report X only with the fields it uses, but published datasource will not have an extract and will contain all fields.]
Now to do house-keeping on Template report/datasource (effectively re-create Template report from current state).
- Remove extract.
- Create Local Copy of datasource [so we can hide fields, no edits possible with published datasources, including show/hide fields?]
- Unhide all fields.
- Delete all sheets only relevant to "Report X"
- Unhide original template sheets
- Hide fields only relevant to any one report.
- Publish Datasource as "Template Datasource" over-writing the original and elect to have workbook update to use published datasource.
- Publish workbook as "Template Report" over-writing the original.
- Download "Report X" and check it still works, given the datasource is references and extracts has changed since it was last published.
This feels like a long-winded and error prone process, infact I hate it. But without the ability to edit published datasources, or copy/paste fields without losing their default properties, I can't think of a better way. Before I embark on this I'd love some input or any false [assumptions] I've made pointed out.