Gegevens in SQL draaien
Hier beginnen? Deze les maakt deel uit van een volledige tutorial over het gebruik van SQL voor gegevensanalyse. Bekijk het begin.
In deze les behandelen we:
- Rijen naar kolommen draaien
- Kolommen naar rijen draaien
- Wat is het volgende?
Rijen naar kolommen draaien
In deze les leert u hoe u gegevens die voor analyse zijn opgemaakt, kunt gebruiken voor presentatie of diagrammen . We nemen een dataset die er als volgt uitziet:
En laat het er zo uitzien:
Voor dit voorbeeld gebruiken we dezelfde dataset van College Football-spelers als in de CASE-les. U kunt de gegevens rechtstreeks hier bekijken.
Laten we beginnen met het samenvoegen van de gegevens om het aantal spelers van elk jaar in elke conferentie te laten zien, vergelijkbaar met het eerste voorbeeld in de inner join-les:
Bekijk dit in modus.
Om de gegevens te transformeren, moeten we de bovenstaande zoekopdracht in een subquery plaatsen. Het kan handig zijn om de subquery te maken en alle kolommen eruit te selecteren voordat u begint met het maken van transformaties. Door de query opnieuw uit te voeren in incrementele stappen, zoals deze, wordt het gemakkelijker om fouten op te sporen als uw query niet wordt uitgevoerd. Houd er rekening mee dat u de ORDER BY
-clausule uit de subquery kunt verwijderen, aangezien we de volgorde van de resultaten in de buitenste zoekopdracht.
Ervan uitgaande dat het werkt zoals gepland (resultaten moeten er precies hetzelfde uitzien als de eerste zoekopdracht), is het tijd om de resultaten op te splitsen in verschillende kolommen voor verschillende jaren. Elk item in de SELECT
-instructie maakt een kolom aan, dus u “moet voor elk jaar een aparte kolom maken:
Technisch gezien heeft u nu het doel bereikt van deze tutorial. Maar dit kan nog een beetje beter worden gemaakt. U zult zien dat de bovenstaande query een lijst oplevert die alfabetisch is gerangschikt op Conference. Het is misschien logischer om een kolom “totaal aantal spelers” toe te voegen en deze te sorteren (van groot naar klein):
En je bent klaar! Bekijk dit in Modus.
Draaikolommen naar rijen
Veel gegevens die u daar op internet zult vinden, zijn opgemaakt voor consumptie, niet voor analyse. Neem bijvoorbeeld deze tabel met het aantal aardbevingen wereldwijd van 2000-2012:
In deze indeling is het een uitdaging om vragen te beantwoorden als ‘wat “is de gemiddelde omvang van een aardbeving?” Het zou veel gemakkelijker zijn als de gegevens in 3 kolommen werden weergegeven: “omvang”, “jaar” en “aantal aardbevingen.” Hier leest u hoe u de gegevens in die vorm kunt omzetten:
Bekijk eerst deze gegevens in Modus:
Opmerking: kolom namen beginnen met “year_” omdat Mode vereist dat kolomnamen met letters beginnen.
Het eerste dat u hier moet doen, is een tabel maken waarin alle kolommen uit de oorspronkelijke tabel als rijen in een nieuwe tabel worden weergegeven . Tenzij u een heleboel kolommen moet transformeren, is de gemakkelijkste manier vaak om ze gewoon in een subquery op te sommen:
Zodra u dit heeft , kunt u deze combineren met de worldwide_earthquakes
-tabel om een uitgebreide weergave te maken:
Merk op dat elke rij in de worldwide_earthquakes
wordt 13 keer gerepliceerd. Het laatste dat u moet doen, is dit oplossen met een CASE
-instructie die gegevens ophaalt uit de juiste kolom in de worldwide_earthquakes
-tabel met de waarde in de year
kolom:
Bekijk het eindproduct in Mode.
Gefeliciteerd met het afronden van de Advanced SQL Tutorial! Nu je grip hebt op SQL, is de volgende stap het aanscherpen van je analyseproces.
We hebben de SQL Analytics Training-sectie speciaal voor dat doel gebouwd. Met nep-datasets om situaties uit de echte wereld na te bootsen, kunt u deze sectie benaderen als training op de werkplek. Bekijk het!