Wenn Sie wissen, dass sich Ihre Site-Nummern / Namen nicht dynamisch ändern, können Sie CASE WHEN
: s
Durch die Gruppierung haben wir NULL-Werte eliminiert ...
Hier verlinken Sie mit dem SQL Fiddle Beispiel
Diese Art der Datenumwandlung wird als PIVOT
Wenn Sie eine bekannte Anzahl von Site
-Werten haben, die Sie in Spalten umwandeln möchten, können Sie die Abfrage fest codieren:
Siehe SQL Geige mit Demo
Wenn Sie jedoch eine unbekannte Anzahl von Werten haben, müssen Sie dynamisches SQL verwenden, um die Spaltenliste zu generieren, die in der Abfrage verwendet werden soll:
%Vor%Siehe SQL Geige mit Demo . Beide geben das Ergebnis:
%Vor% In SSRS müssen Sie MATRIX
report verwenden, um Zeilen in Spalten zu konvertieren, ohne PIVOT operator
Angenommen, Sie haben eine Tabelle SSRSPivot
Die Daten haben das folgende Format
%Vor% Erstellen Sie einen neuen leeren Bericht und benennen Sie ihn als PIVOT
. Erstellen Sie eine Datenquelle, und schreiben Sie die Abfrage im Dataset
Ziehen Sie einen matrix
aus der Toolbox auf den SSRS-Designer. Für Rows
wählen Sie PartNumber
.Für Spalten wählen Sie Site
und für die Daten Sum(Cost)
Wenn Sie den obigen Schritt ausführen, erhalten Sie die Details row
und column
wie die unten stehende
Das finale Ergebnis wird aussehen wie
Tags und Links sql sql-server sql-server-2008 pivot