Pivoting von Daten in SQL
Ab hier? Diese Lektion ist Teil eines ausführlichen Lernprogramms zur Verwendung von SQL für die Datenanalyse. Schauen Sie sich den Anfang an.
In dieser Lektion werden wir Folgendes behandeln:
- Zeilen in Spalten schwenken
- Spalten in Zeilen schwenken
- Wie geht es weiter?
Zeilen in Spalten schwenken
In dieser Lektion erfahren Sie, wie Sie Daten, die für die Analyse formatiert sind, für die Präsentation oder das Diagramm schwenken . Wir nehmen einen Datensatz, der so aussieht:
Und lassen ihn so aussehen:
In diesem Beispiel verwenden wir denselben Datensatz von College Football-Spielern, der in der CASE-Lektion verwendet wurde. Sie können die Daten direkt hier anzeigen.
Beginnen wir mit der Aggregation der Daten, um die Anzahl der Spieler jedes Jahres in jeder Konferenz anzuzeigen, ähnlich wie im ersten Beispiel in der Lektion für innere Verknüpfungen:
Zeigen Sie dies im Modus an.
Um die Daten zu transformieren, müssen Sie die obige Abfrage in eine Unterabfrage einfügen. Es kann hilfreich sein, die Unterabfrage zu erstellen und alle Spalten daraus auszuwählen, bevor Sie mit den Transformationen beginnen. Das erneute Ausführen der Abfrage in inkrementellen Schritten wie diesen erleichtert das Debuggen, wenn Ihre Abfrage nicht ausgeführt wird. Beachten Sie, dass Sie die Klausel ORDER BY
aus der Unterabfrage entfernen können, da wir sie neu anordnen die Ergebnisse in der äußeren Abfrage.
Unter der Annahme, dass dies wie geplant funktioniert (die Ergebnisse sollten genauso aussehen wie bei der ersten Abfrage), ist es an der Zeit, die Ergebnisse für verschiedene Jahre in verschiedene Spalten aufzuteilen. Jedes Element In der Anweisung SELECT
wird eine Spalte erstellt, sodass Sie für jedes Jahr eine separate Spalte erstellen müssen:
Technisch gesehen haben Sie jetzt das Ziel von erreicht Dieses Tutorial könnte jedoch noch etwas verbessert werden. Sie werden feststellen, dass die obige Abfrage eine Liste erstellt, die alphabetisch nach Konferenzen sortiert ist. Es könnte sinnvoller sein, eine Spalte „Gesamtspieler“ hinzuzufügen und danach zu sortieren (größte bis kleinste):
Und Sie sind fertig! Zeigen Sie dies im Modus an.
Schwenkbare Spalten in Zeilen
Viele Daten, die Sie dort im Internet finden, sind für den Verbrauch und nicht für die Analyse formatiert. Nehmen Sie zum Beispiel diese Tabelle mit der Anzahl der Erdbeben weltweit von 2000 bis 2012:
In diesem Format ist es schwierig, Fragen wie „Was“ zu beantworten „Ist die durchschnittliche Stärke eines Erdbebens?“ Es wäre viel einfacher, wenn die Daten in drei Spalten angezeigt würden: „Stärke“, „Jahr“ und „Anzahl der Erdbeben“. So transformieren Sie die Daten in diese Form:
Überprüfen Sie diese Daten zunächst im Modus:
Hinweis: Spalte Namen beginnen mit „Jahr_“, da im Modus Spaltennamen mit Buchstaben beginnen müssen.
Als Erstes müssen Sie eine Tabelle erstellen, in der alle Spalten der ursprünglichen Tabelle als Zeilen in einer neuen Tabelle aufgelistet sind Wenn Sie nicht eine Menge Spalten transformieren müssen, ist es oft am einfachsten, sie in einer Unterabfrage aufzulisten:
Sobald Sie diese erhalten haben Sie können es mit der Tabelle worldwide_earthquakes
kreuzen, um eine erweiterte Ansicht zu erstellen:
Beachten Sie, dass jede Zeile in der worldwide_earthquakes
wird 13 mal repliziert. Als letztes müssen Sie dies mithilfe einer CASE
-Anweisung beheben, die Daten aus der richtigen Spalte in der worldwide_earthquakes
-Tabelle mit dem angegebenen Wert in abruft Die Spalte year
:
Zeigen Sie das Endprodukt im Modus an.
Herzlichen Glückwunsch zum Abschluss des Advanced SQL-Lernprogramms! Nachdem Sie SQL in den Griff bekommen haben, besteht der nächste Schritt darin, Ihren Analyseprozess zu verbessern.
Zu diesem Zweck haben wir den Abschnitt SQL Analytics-Schulung erstellt. Mit gefälschten Datensätzen zur Nachahmung realer Situationen können Sie diesen Abschnitt wie ein Training am Arbeitsplatz betrachten. Probieren Sie es aus!