Forum Discussion
swapping data source excel file?
- 5 months ago
Proposed Solution:
Replace the Source File
New Excel file:
- Must have the same sheet names
- Must have same column structure
Apply these steps:
- Go to Transform Data
- Select the query (for example: Treatments tab)
- Click the Source step (on the right under Applied Steps)
- Click the (gear icon)
- Change the file path to the new Excel file
- Click Close & Apply
If this helps, ✓ Mark as Kudos | Mark as Solution| Help Others
Hi,
der Fehlerbeschreibung nach zu urteilen liegt Dein Problem ja nicht in der Änderung der Datenquelle, sondern an den unterschiedlichen Strukturen der abweichenden Datenquellen. Konkret: Unterschiedliche Anzahl von Spalten, abweichende Spaltennamen. Du benötigst deshalb eine Liste aller zulässigen Spaltennamen und eine der vorhandenen Spaltennamen der aktuellen Datenquelle.
Jetzt gibt es wieder 2 Möglicheiten. Die aktuelle Datenquelle enthält entweder alle zulässigen Spaltennamen, dann kannst die alle anderen Spalten, die nicht in der Liste enthalten sind löschen, oder die aktuelle Datenquelle enthält nur einige oder keinen zulässigen Spaltennamen (Beispiel: Umsatz2024 statt Umsatz2025), dann müssen die Spaltennamen vorher angepasst werden. Also Umsatz2024 zu Umsatz2025.
Da wir aber die konkrete Situation nicht kennen, kannst Du nur eine pauschale Antwort erhalten.
Hier ein Beispiel für die dynamische Um- und Rückbennung von Spalten unterschiedlicher Namen und Anzahl:
let
Quelle = Excel.CurrentWorkbook(){[Name="tblBestellungen"]}[Content],
Alt = Table.ColumnNames(Quelle), //Liste der ursprünglichen Spaltennamen
NurPassende = {Character.FromNumber(65)..Character.FromNumber(65 + List.Count(Alt)-1)}, //Liste der alternativen Spaltennamen
PaareNeu = List.Zip({Alt,NurPassende}), //Liste von Paaren Alt/NurPassende für die Umbenennung
PaareAlt = List.Zip({NurPassende,Alt}), //Liste von Paaren NurPassende/Alt für die Rückbenennung
Umbenennen = Table.RenameColumns(Quelle,PaareNeu,MissingField.Ignore), //Den Spalten die neuen Überschriften verpassen
RenameBack = Table.RenameColumns(Umbenennen,PaareAlt,MissingField.Ignore) //UNd jetzt die alten Überschriften wieder verwenden
in
RenameBack