Heim > Datenbank > MySQL-Tutorial > Wie kann man mehrere Spalten in T-SQL umwandeln, um Finanzkennzahlendaten zu transformieren?

Wie kann man mehrere Spalten in T-SQL umwandeln, um Finanzkennzahlendaten zu transformieren?

Mary-Kate Olsen
Freigeben: 2025-01-05 01:54:47
Original
253 Leute haben es durchsucht

How to Pivot Multiple Columns in T-SQL to Transform Financial Ratio Data?

Pivotieren mehrerer Spalten in TSQL

Bei der Arbeit mit einer relationalen Datenbank ist es oft notwendig, Daten zu transformieren, um sie einfacher analysieren zu können berichten über. Eine Möglichkeit, dies zu tun, ist das Pivotieren der Daten, was das Rotieren von Zeilen in Spalten und umgekehrt beinhaltet.

Betrachten Sie die folgende Tabelle, die Finanzkennzahlen, Ergebnisse, Bewertungen und Noten enthält:

RATIO RESULT SCORE GRADE
Current Ratio 1.294 60 Good
Gearing Ratio 0.3384 70 Good
Performance Ratio 0.0427 50 Satisfactory
TOTAL NULL 180 Good

Um diese Daten zu Pivotieren und alle Beschriftungen beizubehalten, müssen wir die Pivotierung der Ergebnis-, Punkte- und Notenspalten aufheben, sodass jede Zeile in jeder Spalte einen Wert hat. Dies kann mit der UNPIVOT-Funktion oder CROSS APPLY erreicht werden, je nachdem, welche Version von SQL Server Sie verwenden.

Sobald die Pivotierung der Daten aufgehoben ist, können wir die PIVOT-Funktion anwenden, um die Zeilen in Spalten zu drehen. Die Syntax ähnelt der folgenden:

SELECT ratio = col,
[current ratio], [gearing ratio], [performance ratio], total
FROM
(
  SELECT ratio, col, value
  FROM GRAND_TOTALS
  CROSS APPLY
  (
    SELECT 'result', CAST(result AS VARCHAR(10)) UNION ALL
    SELECT 'score', CAST(score AS VARCHAR(10)) UNION ALL
    SELECT 'grade', grade
  ) c(col, value)
) d
PIVOT
(
  MAX(value)
  FOR ratio IN ([current ratio], [gearing ratio], [performance ratio], total)
) piv;
Nach dem Login kopieren

Die resultierende Ausgabe ist eine Tabelle mit einer Zeile für jedes Verhältnis und Spalten für das aktuelle Verhältnis, das Übersetzungsverhältnis, das Leistungsverhältnis, die Gesamtzahl, die Punktzahl usw Note:

RATIO CURRENT RATIO GEARING RATIO PERFORMANCE RATIO TOTAL SCORE GRADE
grade Good Good Satisfactory Good NULL NULL
result 1.29400 0.33840 0.04270 NULL NULL NULL
score 60.00000 70.00000 50.00000 180.00000 NULL NULL

Das obige ist der detaillierte Inhalt vonWie kann man mehrere Spalten in T-SQL umwandeln, um Finanzkennzahlendaten zu transformieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage