
Hi all - I feel like this is the most basic question ever but I can't locate an answer. I have a workbook with 20 worksheets organized into 12 dashboards (Desktop 2024.1.4 on Windows). For the most part, each Tableau worksheet is pulling data from a single tab in a multi-tab Excel file, and the tabs are all linked via a shared field ('Year'). I'd like to rename each *tab* in the Excel file without renaming the file itself, and without changing any of the fields or values in the Excel file, and without having to rebuild any of my Tableau worksheets.
For purposes of illustration, let's say that my Tableau worksheet is named '3 poverty bar chart' (because it's incorporated into Dashboard 3). The worksheet's using data on an Excel tab called 'ACS income'. I want to rename that Excel tab from 'ACS income' to '3 poverty'.
If I make that change and then open the Tableau workbook, Tableau throws out an error saying it can't find the 'ACS income' table, and I can't find a way to point it to the renamed '3 poverty' Excel tab.
I tried using a global find-and-replace with the Tableau xml file open in Notepad++, but then when I open the workbook again I get a "corrupt" error.
Surely, *surely* there's a way to do this without adding a new data source with the Excel tab names I want and replacing every single reference on each of the 20 worksheets. 😨
What am I missing?
Just to help you understand the architecture a little here @Laura McKieran, as although you see an Excel workbook, Tableau sees a data source no different from a database.
We data engineers often face this same problem when required to ingest an ever evolving Excel workbook, and data ingestion tools (ETL tools) all suffer the same problem: user changes something like a sheet name, or field name, or field type, then this breaks the refresh cycle.
You see workbooks are akin to databases, and sheets are tables, and so a change to either of these will break the tool that has connected with the workbook and identified the meta by checking the values of each entry.
In this image you can see that I've connected to Superstore, although its my version loaded to SQL Server, and upon inspecting the customer-name field, we can see the meta that Tableau has loaded
And now, the same data only this time from the Excel workbook:
Aside from the location, the inspects are identical, and this is why changing the source can be catastrophic - because the file references that Tableau has built are now invalid.
Can you tell us the reasons behind needing to change the source.
Its great that you've attempted to make the change to the workbook xml, however what you actually need to do is to identify the connection guid to ensure that you are properly updating each connection source. This type of thing used to be child's play, as there would only be one reference in the data-sources section, but now, this is everywhere (makes building tools to handle this much more difficult).
If this is only a one-off change, then you could follow Chris' method, however I would instead simply copy the workbook, rename the original suffixing "dep" eg "my_workbook" becomes "my_workbook_dep", and then open Tableau. When it complains that it cannot find the workbook and provides the connection dialogue, point it at the "my_workbook_dep" file.
Once all is reloaded, now rename the "my_workbook (copy)" back to "my_workbook", and update all the resources you need.
And now simply create a second data source in Tableau pointing it at your new source. Before then using the replace data source option to redirect the visuals to their new renamed counterparts.
Its long-winded I know, but it should at least get you out of this.
Steve