Entpivotieren von SpaltenUnpivot columns

In Power Query können Sie Spalten in Attribut-Wert-Paare transformieren, wobei Spalten zu Zeilen werden.In Power Query, you can transform columns into attribute-value pairs, where columns become rows.

Diagramm für UNPIVOT-Spalten

Diagramm, das eine Tabelle auf der linken Seite mit einer leeren Spalte und Zeilen anzeigt, und die Attributwerte a1, a2 und a3 als Spaltenüberschriften.Diagram showing a table on the left with a blank column and rows, and the Attributes values A1, A2, and A3 as column headers. Die Spalte a1 enthält die Werte v1, v4 und V7, die Spalte a2 enthält die Werte v2, V5 und V8, und die Spalte a3 enthält die Werte v3, V6 und v9.The A1 column contains the values V1, V4, and V7, the A2 column contains the values V2, V5, and V8, and the A3 column contains the values V3, V6, and V9. Wenn die Spalten entpivotiert sind, enthält eine Tabelle auf der rechten Seite des Diagramms eine leere Spalte und Zeilen, eine Attribut Spalte mit neun Zeilen, wobei a1, a2 und a3 dreimal wiederholt werden, und eine Values-Spalte mit den Werten V1 bis v9.With the columns unpivoted, a table on the right of the diagram contains a blank column and rows, an Attributes column with nine rows with A1, A2, and A3 repeated three times, and a Values column with values V1 through V9.

Wenn z. b. eine Tabelle wie die folgende angezeigt wird, in der die Zeilen-und Datums Spalten eine Matrix von Werten erstellen, ist es schwierig, die Daten auf skalierbare Weise zu analysieren.For example, given a table like the following, where country rows and date columns create a matrix of values, it's difficult to analyze the data in a scalable way.

Beispiel für UNPIVOT Columns Sample Initial Table

Tabelle, die eine in den Text-Datentyp festgelegte Länder Spalte und 6/1/2020-, 7/1/2020-und 8/1/2020-Spalten enthält, die als ganzzahligen Datentyp festgelegt sind.Table containing a Country column set in the Text data type, and 6/1/2020, 7/1/2020, and 8/1/2020 columns set as the Whole number data type. Die Spalte Country enthält die USA in Zeile 1, Kanada in Zeile 2 und Panama in Zeile 3.The Country column contains USA in row 1, Canada in row 2, and Panama in row 3.

Stattdessen können Sie die Tabelle in eine Tabelle mit entpivotierten Spalten transformieren, wie in der folgenden Abbildung dargestellt.Instead, you can transform the table into a table with unpivoted columns, as shown in the following image. In der transformierten Tabelle ist es einfacher, das Datum als Attribut zu verwenden, nach dem gefiltert werden soll.In the transformed table, it's easier to use the date as an attribute to filter on.

UNPIVOT Columns-Beispiel Tabelle (Ziel Tabelle)

Tabelle, die eine als Text-Datentyp festgelegte Spalte Country enthält, eine Attribut Spalte, die als Text-Datentyp festgelegt ist, und eine Wert Spalte, die als ganzzahligen Datentyp festgelegt ist.Table containing a Country column set as the Text data type, an Attribute column set as the Text data type, and a Value column set as the Whole number data type. Die Spalte Country enthält die USA in den ersten drei Zeilen, Kanada in den nächsten drei Zeilen und Panama in den letzten drei Zeilen.The Country column contains USA in the first three rows, Canada in the next three rows, and Panama in the last three rows. Die Attribut Spalte enthält 6/1/2020 in den ersten, vierten und siebten Zeilen, 7/1/2020 in den zweiten, fünften und achten Zeilen und 8/1/2020 in den dritten, sechsten und neunten Zeilen.The Attribute column contains 6/1/2020 in the first, forth, and seventh rows, 7/1/2020 in the second, fifth, and eighth rows, and 8/1/2020 in the third, sixth, and ninth rows.

Der Schlüssel in dieser Transformation ist, dass Sie einen Satz von Datumsangaben in der Tabelle haben, die alle Teil einer einzelnen Spalte sein sollten.The key in this transformation is that you have a set of dates in the table that should all be part of a single column. Der jeweilige Wert für jedes Datum und jedes Land sollte sich in einer anderen Spalte befinden, wodurch ein Attribut-Wert-Paar tatsächlich erstellt wird.The respective value for each date and country should be in a different column, effectively creating an attribute-value pair.

Power Query erstellt immer das Attribut-Wert-Paar mit zwei Spalten:Power Query will always create the attribute-value pair by using two columns:

  • Attribute: der Name der Spaltenüberschriften, die entpivotiert wurden.Attribute: The name of the column headings that were unpivoted.
  • Value: die Werte, die sich unterhalb der nicht pivotierten Spaltenüberschriften befanden.Value: The values that were underneath each of the unpivoted column headings.

Die Benutzeroberfläche enthält mehrere Orte, an denen Sie UNPIVOT-Spalten finden können.There are multiple places in the user interface where you can find Unpivot columns. Sie können mit der rechten Maustaste auf die Spalten klicken, die Sie entpivotieren möchten, oder Sie können den Befehl auf der Registerkarte transformieren im Menüband auswählen.You can right-click the columns that you want to unpivot, or you can select the command from the Transform tab in the ribbon.

Rechtsklick zum entpivotieren von SpaltenRight-click operation to unpivot columns

![UNPIVOT Columns-Befehl auf der Registerkarte "Transformieren"](images/me-unpivot-transform-tab.png "UNPIVOT Columns-Befehl auf der Registerkarte "Transformieren"")Unpivot columns command on the Transform tab

Es gibt drei Möglichkeiten, wie Sie Spalten aus einer Tabelle entpivotieren können:There are three ways that you can unpivot columns from a table:

  • Entpivotieren von SpaltenUnpivot columns
  • Andere Spalten entpivotierenUnpivot other columns
  • Nur ausgewählte Spalten entpivotierenUnpivot only selected columns

Entpivotieren von SpaltenUnpivot columns

Für das oben beschriebene Szenario müssen Sie zuerst die Spalten auswählen, die Sie entpivotieren möchten.For the scenario described above, you first need to select the columns you want to unpivot. Sie können STRG auswählen, wenn Sie beliebig viele Spalten auswählen.You can select Ctrl as you select as many columns as you need. In diesem Szenario möchten Sie alle Spalten mit Ausnahme der Bezeichnung Country auswählen.For this scenario, you want to select all the columns except the one named Country. Nachdem Sie die Spalten ausgewählt haben, klicken Sie mit der rechten Maustaste auf eine der ausgewählten Spalten, und wählen Sie dann UNPIVOT-Spalten aus.After selecting the columns, right-click any of the selected columns, and then select Unpivot columns.

Tabelle, in der die Spalten 6/1/2020, 7/1/2020 und 8/1/2020 ausgewählt sind und der Befehl UNPIVOT Columns im Kontextmenü ausgewählt ist.Table with the 6/1/2020, 7/1/2020, and 8/1/2020 columns selected, and the Unpivot columns command selected in the shortcut menu

Das Ergebnis dieses Vorgangs ergibt das in der folgenden Abbildung gezeigte Ergebnis.The result of that operation will yield the result shown in the following image.

Abschließende Tabelle der UNPIVOT-Spalten

Tabelle, die eine als Text-Datentyp festgelegte Spalte Country enthält, eine Attribut Spalte, die als Text-Datentyp festgelegt ist, und eine Wert Spalte, die als ganzzahligen Datentyp festgelegt ist.Table containing a Country column set as the Text data type, an Attribute column set as the Text data type, and a Value column set as the Whole number data type. Die Spalte Country enthält die USA in den ersten drei Zeilen, Kanada in den nächsten drei Zeilen und Panama in den letzten drei Zeilen.The Country column contains USA in the first three rows, Canada in the next three rows, and Panama in the last three rows. Die Attribut Spalte enthält 6/1/2020 in den ersten, vierten und siebten Zeilen, 7/1/2020 in den zweiten, fünften und achten Zeilen und 8/1/2020 in den dritten, sechsten und neunten Zeilen.The Attribute column contains 6/1/2020 in the first, forth, and seventh rows, 7/1/2020 in the second, fifth, and eighth rows, and 8/1/2020 in the third, sixth, and ninth rows. Außerdem wird der Eintrag UNPIVOT Columns im Bereich Abfrage Einstellungen hervorgehoben, und der Code der Sprache M wird in der Bearbeitungs Leiste angezeigt.In addition, the Unpivot columns entry is emphasized in the Query settings pane and the M language code is shown in the formula bar.

Besondere ÜberlegungenSpecial considerations

Nachdem Sie die Abfrage aus den obigen Schritten erstellt haben, stellen Sie sich vor, dass die ursprüngliche Tabelle so aktualisiert wird, dass Sie wie der folgende Screenshot aussieht.After creating your query from the steps above, imagine that your initial table gets updated to look like the following screenshot.

Entpivotieren von Spalten aktualisierte Quell Tabelle

Tabelle mit denselben ursprünglichen Ländern, 6/1/2020, 7/1/2020 und 8/1/2020 Spalten, mit dem Hinzufügen einer 9/1/2020-Spalte.Table with the same original Country, 6/1/2020, 7/1/2020, and 8/1/2020 columns, with the addition of a 9/1/2020 column. Die Spalte Country enthält immer noch die Werte USA, Kanada und Panama, aber auch das Vereinigte Königreich wurde der vierten Zeile hinzugefügt, und Mexiko wurde der fünften Zeile hinzugefügt.The Country column still contains the USA, Canada, and Panama values, but also has UK added to the fourth row and Mexico added to the fifth row.

Beachten Sie, dass Sie eine neue Spalte für das Datum 9/1/2020 (1. September 2020) und zwei neue Zeilen für die Länder UK und Mexiko hinzugefügt haben.Notice that you've added a new column for the date 9/1/2020 (September 1, 2020), and two new rows for the countries UK and Mexico.

Wenn Sie die Abfrage aktualisieren, werden Sie feststellen, dass der Vorgang für die aktualisierte Spalte ausgeführt wird, sich aber nicht auf die Spalte auswirkt, die ursprünglich nicht ausgewählt wurde (in diesem Beispiel Land).If you refresh your query, you'll notice that the operation will be done on the updated column, but won't affect the column that wasn't originally selected (Country, in this example). Dies bedeutet, dass jede neue Spalte, die der Quell Tabelle hinzugefügt wird, ebenfalls entpivotiert wird.This means that any new column that's added to the source table will be unpivoted as well.

In der folgenden Abbildung wird gezeigt, wie die Abfrage nach der Aktualisierung mit der neuen aktualisierten Quell Tabelle aussieht.The following image shows what your query will look like after the refresh with the new updated source table.

Endgültige aktualisierte Tabelle für Spalten entpivotieren

Tabelle mit den Spalten Country, Attribute und Value.Table with Country, Attribute, and Value columns. Die ersten vier Zeilen der Spalte Country enthalten USA, die zweiten vier Zeilen enthalten Kanada, die dritten vier Zeilen enthalten Panama, die vierten vier Zeilen enthalten UK, und die fünften vier Zeilen enthalten Mexiko.The first four rows of the Country column contains USA, the second four rows contains Canada, the third four rows contains Panama, the fourth four rows contains UK, and the fifth four rows contains Mexico. Die Attribut Spalte enthält 6/1/2020, 7/1/2020, 8/1/2020 und 9/1/2020 in den ersten vier Zeilen, die für jedes Land wiederholt werden.The Attribute column contains 6/1/2020, 7/1/2020, 8/1/2020, and 9/1/2020 in the first four rows, which are repeated for each country.

Andere Spalten entpivotierenUnpivot other columns

Sie können auch die Spalten auswählen, für die Sie nicht das entpivotieren möchten, und die übrigen Spalten in der Tabelle entpivotieren.You can also select the columns that you don't want to unpivot and unpivot the rest of the columns in the table. Bei diesem Vorgang kommt das entpivotieren anderer Spalten ins Spiel.This operation is where Unpivot other columns comes into play.

![Tabelle mit ausgewähltem Kontextmenü für die Länder Spalte und der Befehl "andere Spalten entpivotieren" im Menü wird hervorgehoben.](images/me-unpivot-other-columns.png "Tabelle mit ausgewähltem Kontextmenü für die Länder Spalte und der Befehl "andere Spalten entpivotieren" im Menü wird hervorgehoben.")Table with the Country column shortcut menu selected and the Unpivot other columns command in the menu is emphasized

Das Ergebnis dieses Vorgangs ergibt genau das gleiche Ergebnis wie das, das Sie aus UNPIVOT-Spalten erhalten haben.The result of that operation will yield exactly the same result as the one you got from Unpivot columns.

Beispiel Tabelle für andere Spalten entpivotieren

Tabelle, die eine als Text-Datentyp festgelegte Spalte Country enthält, eine Attribut Spalte, die als Text-Datentyp festgelegt ist, und eine Wert Spalte, die als ganzzahligen Datentyp festgelegt ist.Table containing a Country column set as the Text data type, an Attribute column set as the Text data type, and a Value column set as the Whole number data type. Die Spalte Country enthält die USA in den ersten drei Zeilen, Kanada in den nächsten drei Zeilen und Panama in den letzten drei Zeilen.The Country column contains USA in the first three rows, Canada in the next three rows, and Panama in the last three rows. Die Attribut Spalte enthält 6/1/2020 in den ersten, vierten und siebten Zeilen, 7/1/2020 in den zweiten, fünften und achten Zeilen und 8/1/2020 in den dritten, sechsten und neunten Zeilen.The Attribute column contains 6/1/2020 in the first, forth, and seventh rows, 7/1/2020 in the second, fifth, and eighth rows, and 8/1/2020 in the third, sixth, and ninth rows.

Hinweis

Diese Transformation ist entscheidend für Abfragen, die eine unbekannte Anzahl von Spalten aufweisen.This transformation is crucial for queries that have an unknown number of columns. Der Vorgang entpivotet alle Spalten aus der Tabelle mit Ausnahme derjenigen, die Sie ausgewählt haben.The operation will unpivot all columns from your table except the ones that you've selected. Dies ist eine ideale Lösung, wenn die Datenquelle Ihres Szenarios neue Datums Spalten in einer Aktualisierung erhält, da diese in einer Aktualisierung übernommen und entpivotiert werden.This is an ideal solution if the data source of your scenario got new date columns in a refresh, because those will get picked up and unpivoted.

Besondere ÜberlegungenSpecial considerations

Wenn die Abfrage aktualisiert und mehr Daten aus der Datenquelle abgerufen werden, werden in ähnlicher Weise wie beim Vorgang UNPIVOT-Spalten alle Spalten entpivotiert, mit Ausnahme derjenigen, die zuvor ausgewählt wurden.Similar to the Unpivot columns operation, if your query is refreshed and more data is picked up from the data source, all the columns will be unpivoted except the ones that were previously selected.

Um dies zu veranschaulichen, nehmen wir an, dass Sie eine neue Tabelle wie die folgende Abbildung haben.To illustrate this, say that you have a new table like the one in the following image.

Beispiel für UNPIVOT-Quell Tabelle

Tabelle mit den Spalten Country, 6/1/2020, 7/1/2020, 8/1/2020 und 9/1/2020, wobei alle Spalten auf den Text-Datentyp festgelegt sind.Table with Country, 6/1/2020, 7/1/2020, 8/1/2020, and 9/1/2020 columns, with all columns set to the Text data type. Die Spalte Country enthält, von oben nach unten, USA, Kanada, Panama, Vereinigtes Königreich und Mexiko.The Country column contains, from top to bottom, USA, Canada, Panama, UK, and Mexico.

Wählen Sie die Spalte Country aus, und wählen Sie dann UNPIVOT other Column aus. Dies führt zu folgendem Ergebnis.You can select the Country column, and then select Unpivot other column, which will yield the following result.

Beispiel für das entpivotieren anderer Spalten (letzte Tabelle)

Tabelle mit den Spalten Country, Attribute und Value.Table with Country, Attribute, and Value columns. Die Länder-und Attribut Spalten werden auf den Text-Datentyp festgelegt.The Country and Attribute columns are set to the Text data type. Die Spalte Wert wird auf den Datentyp ganz Wert festgelegt.The Value column is set to the Whole value data type. Die ersten vier Zeilen der Spalte Country enthalten USA, die zweiten vier Zeilen enthalten Kanada, die dritten vier Zeilen enthalten Panama, die vierten vier Zeilen enthalten Vereinigtes Königreich, und die fünften vier Zeilen enthalten Mexiko.The first four rows of the Country column contain USA, the second four rows contains Canada, the third four rows contains Panama, the fourth four rows contains UK, and the fifth four rows contains Mexico. Die Attribut Spalte enthält 6/1/2020, 7/1/2020, 8/1/2020 und 9/1/2020 in den ersten vier Zeilen, die für jedes Land wiederholt werden.The Attribute column contains 6/1/2020, 7/1/2020, 8/1/2020, and 9/1/2020 in the first four rows, which are repeated for each country.

Nur ausgewählte Spalten entpivotierenUnpivot only selected columns

Der Zweck dieser letzten Option besteht darin, nur bestimmte Spalten aus der Tabelle zu entpivotieren.The purpose of this last option is to only unpivot specific columns from your table. Dies ist für Szenarien wichtig, in denen Sie mit einer unbekannten Anzahl von Spalten aus der Datenquelle arbeiten und nur die ausgewählten Spalten entpivotieren möchten.This is important for scenarios where you're dealing with an unknown number of columns from your data source and you only want to unpivot the selected columns.

Um diesen Vorgang auszuführen, wählen Sie die zu entpivotierens Spalten aus. in diesem Beispiel werden alle Spalten außer der Spalte Country angezeigt.To perform this operation, select the columns to unpivot, which in this example is all the columns except the Country column. Klicken Sie dann mit der rechten Maustaste auf eine der ausgewählten Spalten, und wählen Sie die Option nur ausgewählte Spalten entpivotieren aus.Then right-click any of the columns you selected, and then select Unpivot only selected columns.

Tabelle, in der die Spalten 6/1/2020, 7/1/2020 und 8/1/2020 ausgewählt sind, und das Kontextmenü mit der hervorgehoben, dass nur ausgewählte Spalten entpivotierenTable with the 6/1/2020, 7/1/2020, and 8/1/2020 columns selected, and the shortcut menu emphasizing the Unpivot only selected columns

Beachten Sie, dass dieser Vorgang dieselbe Ausgabe wie die vorherigen Beispiele ergibt.Notice how this operation will yield the same output as the previous examples.

Endgültige Tabelle für ausgewählte Spalten entpivotieren

Tabelle, die eine als Text-Datentyp festgelegte Spalte Country enthält, eine Attribut Spalte, die als Text-Datentyp festgelegt ist, und eine Wert Spalte, die als ganzzahligen Datentyp festgelegt ist.Table containing a Country column set as the Text data type, an Attribute column set as the Text data type, and a Value column set as the Whole number data type. Die Spalte Country enthält die USA in den ersten drei Zeilen, Kanada in den nächsten drei Zeilen und Panama in den letzten drei Zeilen.The Country column contains USA in the first three rows, Canada in the next three rows, and Panama in the last three rows. Die Attribut Spalte enthält 6/1/2020 in den ersten, vierten und siebten Zeilen, 7/1/2020 in den zweiten, fünften und achten Zeilen und 8/1/2020 in den dritten, sechsten und neunten Zeilen.The Attribute column contains 6/1/2020 in the first, forth, and seventh rows, 7/1/2020 in the second, fifth, and eighth rows, and 8/1/2020 in the third, sixth, and ninth rows.

Besondere ÜberlegungenSpecial considerations

Wenn die Quell Tabelle nach einer Aktualisierung geändert wird, um eine neue 9/1/2020 -Spalte und neue Zeilen für UK und Mexiko zu haben, unterscheidet sich die Ausgabe der Abfrage von den vorherigen Beispielen.After doing a refresh, if our source table changes to have a new 9/1/2020 column and new rows for UK and Mexico, the output of the query will be different from the previous examples. Nehmen wir an, dass die Quell Tabelle nach einer Aktualisierung in der Tabelle in der folgenden Abbildung geändert wird.Say that our source table, after a refresh, changes to the table in the following image.

UNPIVOT-aktualisierte Quell TabelleUnpivot updated source table

Die Ausgabe der Abfrage wird wie in der folgenden Abbildung aussehen.The output of our query will look like the following image.

Nur ausgewählte Spalten mit aktualisierter abschließender Tabelle entpivotierenUnpivot only selected columns updated final table

Dies sieht wie folgt aus, weil der UNPIVOT-Vorgang nur für die Spalten 6/1/2020, 7/1/2020 und 8/1/2020 angewendet wurde, sodass die Spalte mit dem Header 9/1/2020 unverändert bleibt.It looks like this because the unpivot operation was applied only on the 6/1/2020, 7/1/2020, and 8/1/2020 columns, so the column with the header 9/1/2020 remains unchanged.