Dynamisches Pivot mit mehreren Spalten in SQL Server
In SQL Server können Sie durch das Pivotieren von Daten Zeilen in Spalten transponieren und so intuitivere Daten ermöglichen Analyse. Beim Umgang mit mehreren Spalten kann die Verwendung eines dynamischen Ansatzes dazu beitragen, Spaltennamen oder -werte zu ändern.
Daten aufheben
Um Daten mit mehreren Spalten dynamisch zu Pivotieren, beginnen Sie mit dem Aufheben der Pivotierung die relevanten Spalten entweder mit der UNPIVOT-Funktion oder CROSS APPLY. Durch diesen Prozess werden mehrere Spalten in Zeilen umgewandelt, sodass sie einfacher zu bearbeiten sind.
Dynamische PIVOT-Funktion
Sobald die Pivotierung aufgehoben ist, können Sie die PIVOT-Funktion verwenden, um die Pivot-Tabelle zu erstellen. Allerdings müssen die Spaltennamen in der PIVOT-Funktion mit den nicht pivotierten Daten übereinstimmen. Um dies dynamisch zu erreichen, verketten Sie die Werte der Spalten mit ihren jeweiligen Metadaten mithilfe der folgenden Schritte:
Beispiel
Betrachten Sie die folgende Beispieltabelle mit den Spalten „Jahr“, „Typ“, „Gesamt“ und „Volumen“:
ID | YEAR | TYPE | TOTAL | VOLUME |
---|---|---|---|---|
DD1 | 2008 | A | 1000 | 10 |
DD1 | 2008 | B | 2000 | 20 |
DD1 | 2008 | C | 3000 | 30 |
Mit dem dynamischen Pivot-Ansatz können Sie eine Pivot-Tabelle mit Folgendem erstellen Struktur:
ID | 2008_A_Total | 2008_A_Volume | 2008_B_Total | 2008_B_Volume | 2008_C_Total | 2008_C_Volume |
---|---|---|---|---|---|---|
DD1 | 1000 | 10 | 2000 | 20 | 3000 | 30 |
Durch die Kombination von Unpivoting- und dynamischen Pivot-Techniken können Sie Daten mit unterschiedlichen Spalten in SQL Server effektiv transformieren und analysieren.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Spalten in SQL Server dynamisch Pivotieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!