Changing headings in Power Query (Excel) / Wechselnde Überschriften im Power Query (Excel)

Demo Excel File

 

Load the sample file into the Power Query Editor. The navigator window will  show up.

_

 

Lade die Beispieldatei in den Power Query Editor. Das Navigator-Fenster wird eingeblendet.

       
Choose the Sheet 1 and click Transform Data.

Wähle das Sheet 1 aus und klicke Daten Bearbeiten.

Now the Query Editor will open. You see the table is loading into the Query Editor. The data is now only stored in the intermediate buffer not in the .pbix.

Nun wird der Abfrage-Editor geöffnet. Wir sehen, dass die Tabelle in den Abfrage-Editor geladen wird. Die Daten sind jetzt nur im zwischen gespeichert und nicht in der .pbix geladen.

Let’s take a closer look to the Advanced Editor.

Nun schauen wir uns den Advanced Editor etwas genauer an.

In here you can see some code it is also written in Power Query which is also called M-Script.

You see every line is one step.

1)       Source Code

2)      Sheet1_Sheet

3)      Promoted Header

4)      DynamicHeaderName

5)      Changed Type

Step 4 is the Step in which we will create a dynamic header.

You need the following code:

DynamicHeaderName= Table.ColumnNames(#”Promoted Headers”),

Hier sehen wir nun den Power Query Code auch M-Skript genannt.

Wir sehen, dass jede Zeile ein Schritt ist.

1) Quellcode

2) Tabellenblatt

3) Geförderte Überschrift

4) DynamischerKopfzeilenname

5) Geänderter Typ

Schritt 4 ist der Schritt, in dem wir eine dynamische Kopfzeile erstellen werden.

Sie benötigen den folgenden Code:

DynamicHeaderName= Table.ColumnNames(#”Promoted Headers”),

Now let us see what is happening to our applied steps on the right site. You see we added one additional step which is called “DynamicHeaderName”

The Editor created a list with all headers in the file.

Lassen Sie uns nun sehen, was mit unseren angewandten Schritten auf der rechten Seite passiert. Sie sehen, dass wir einen zusätzlichen Schritt hinzugefügt haben, der “DynamicHeaderName” heißt.

Der Editor erstellt eine Liste mit allen Überschriften in der Datei.

Now we must pick our header, which we like to make dynamic. The first position in the list is characterize as {0}.

 

Type the following query with the additional {0}:

DynamicHeaderName= Table.ColumnNames(#”Promoted Headers”){0},

Nun müssen wir unsere Überschrift auswählen, die wir dynamisch gestalten wollen. Die erste Position in der Liste wird als {0} bezeichnet.

 

Geben Sie die folgende Abfrage mit dem Zusatz {0} ein:

DynamicHeaderName= Table.ColumnNames(#”Promoted Headers”){0},

If we get back to the Editor we can see that the query choose the first position in our list. Which is the first column in our file.

Wenn wir zum Editor zurückkehren, können wir sehen, dass die Abfrage die erste Position in unserer Liste ausgewählt hat. Das ist die erste Spalte in unserer Datei.

Now we must change the hard coded header name into the dynamic one. Go into the formular bar and change the term “Sales 01/2019” to  “Table.ColumnNames(#”Promoted Headers”){0}”

Nun müssen wir den fest eingetragenen Namen der Überschrift in den dynamischen Namen ändern. Gehen Sie in die Formelleiste und ändern Sie den Begriff “Sales 01/2019” in Table.ColumnNames(#”Promoted Headers”){0}.

->

And If you change now the original file from “Sales 01/2022” to “Sales02/2022”

Wenn wir nun das Datum von “Sales 01/2022” zu“Sales02/2022”

 

You can see the change also in the query editor after you push the refresh button.

Sehen wir die Änderung im Power Query Editor nachdem wir den Aktualisierungsbutton gedrückt haben auch.

Now If you like to rename the column header you can do it with a double click on the field with the name.

Wenn wir nun die Überschrift gerne anpassen wollen in Sales, können wir das tun indem wir einfach doppelt auf die Überschrift klicken.

If you now update the file with another refresh, you will get an error message. (Question: Why?)

Wenn wir nun die Datei erneut anpassen (Excel) und in Power Query aktualisieren erhalten wir einen Fehler. (Frage: Warum?)

The list field in the step dynamic header changed the name write.

Das Listenfeld im dynamischen Header Schritt hat den Namen richtig geändert.

If we go to the current step, we will get the following error message.

Wenn wir aber nun den aktuellen Schritt (Geäderte Überschrift) gehen erhalten wir einen Fehler.

The solution is to replace the hard coded renaming of the column. Open the formula bar in the step rename columns and replace like we done it a few steps ago with the dynamic header query.

After that refresh the editor and the column header will work.

Die Lösung ist, die fest hinterlegte Umbenennung der Spalte zu ersetzen. Öffnen Sie die Formelleiste im Schritt Spalten umbenennen und ersetzen Sie, wie wir es vor ein paar Schritten getan haben, durch die dynamische Kopfzeilenabfrage.

Danach aktualisieren Sie den Editor und die Spaltenüberschrift wird wieder funktionieren.

Code:

= Table.RenameColumns(#”Changed Type”,{{Table.ColumnNames(#”Promoted Headers”){0},”Sales”}})

Attention

Some important hints for dealing with tables from an Excel files.

Einige Hinweise wenn wir mit Excel Dateien arbeiten.

1)      You can append additional tables to existing tables (f.e. Excel files you get monthly)

2)      You can add as many rows as you like

3)      If you like to change the header in the original file follwing this instructions

4)      No columns should be deleted from the original Excel file, otherwise the query will run on error.

5)      Adding more columns is not a problem.

1)   Sie können zusätzliche Tabellen an bestehende Tabellen anfügen (z.B Monatliche Excels)

2)   Sie können so viele Zeilen hinzufügen, wie Sie möchten

3)   Wenn Sie die Kopfzeile in der Originaldatei ändern möchten, folgen Sie dieser Anleitung

4)   Es sollten keine Spalten aus der Original Excel Datei gelöscht werden, da es die Abfrage sonst auf Fehler laufen lässt

5)  Das hinzufügen von weiteren Spalte ist kein Poblem

Weiter Beiträge zum Thema Power BI und Excel:

Ein super Blogbeitrag wenn Excel Tabellen mit unterschiedlichen Strukturen im Power BI eingelesen werden:

https://ssbi-blog.de/blog/business-topics/csv-dateien-mit-unterschiedlichen-headern-einlesen/

Dieser Beitrag wurde unter Power BI veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert