Øvelse – Vælg de kolonner, der skal returneres ved hjælp af projektoperatoren
Du kan bruge Kusto-forespørgsler til at filtrere data og returnere specifikke oplysninger.
Husk, at du har kigget på vilkårlige rækker med data for at få en fornemmelse af datastrukturen. I dette undermodul lærer du, hvordan du vælger bestemte datakolonner, der er relateret til stormtyper, placeringer og skadelige effekter.
Brug operatoren project
Hvis du husker det meteorologiske dataeksempel, er der en hel del kolonner. Det er ikke alle disse kolonner, der giver mening for denne udforskning. Du skal blot vælge nogle få kolonner at få vist. Du skal bruge operatoren project til at definere, hvilke kolonner du vil have vist i outputtet. Kolonnenavne adskilles af kommaer.
Kør følgende forespørgsel. Denne forespørgsel navngiver de kolonner, der skal returneres, og deres rækkefølge i operatoren
project.StormEvents | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect | take 10Du bør få resultater, der ligner følgende billede:
Bemærk, at det kun er de kolonner, der er nævnt i operatoren
project, der vises i outputtet.
Omdøb og definer nye kolonner ved hjælp af project
For at forstå konsekvenserne af storme i amerikanske stater, du ønsker at få det samlede antal skader og den samlede mængde af skader. Med operatoren project kan du opsummere heltalsværdier fra forskellige kolonner og returnere resultaterne i en ny kolonne. Du kan også omdøbe kolonner for at gøre dem mere meningsfulde i din analyse.
Der er f.eks. andre lande/områder med stater. Det kan være nyttigt at omdøbe kolonnen State, så det er klart, at resultaterne er for stater i USA. Lad os se, hvordan du ændrer din tidligere forespørgsel, så du får det samlede antal skader og mængden af skader for amerikanske stater.
Opdater din tidligere forespørgsel for at oprette en ny kolonne, der viser summen af InjuriesDirect- og InjuriesIndirect-:
Injuries=InjuriesDirect+InjuriesIndirectGør det samme for de to typer af skader kolonner ved at lægge sammen skader på afgrøder og skader på ejendom:
Damage=DamageCrops+DamagePropertyPeg på kolonnenavnet i forespørgselseditoren for at se datatypen i kolonnerne. Du kan bruge en numerisk operator til at tilføje værdierne, fordi disse kolonner er af typen
int(heltal).
Omdøb kolonnen State til US_State:
US_State=StateGennemse din opdaterede forespørgsel, og kør den. Den komplette forespørgsel indeholder beregninger for skader, beregninger for skader og omdøbning af kolonnen State.
StormEvents | project US_State=State, EventType, Injuries=InjuriesDirect+InjuriesIndirect, Damage=DamageCrops+DamageProperty | take 10Du bør få resultater, der ligner følgende billede:
Bemærk, at kolonnen State er blevet omdøbt til US_State. Kolonnen Injuries er ny og er beregnet som summen af InjuriesDirect og InjuriesIndirect. Kolonnen Damage er også ny og er beregnet som summen af DamageCrops og DamageProperty.
Brug operatoren project-away
Hvad nu, hvis du vil fjerne nogle få udvalgte kolonner? I forbindelse med denne udforskning har du ikke brug for de id'er, der er tildelt hver episode og begivenhed. Du kan fjerne bestemte kolonner ved hjælp af operatoren project-away, som angiver, hvilke kolonner der skal fjernes, mens du forlader alle resterende kolonner. Du kan også bruge et jokertegn, f.eks. | project-away *Id, til at fjerne alle kolonner, der ender i Id.
Kør følgende forespørgsel:
StormEvents | project-away EpisodeId, EventId | take 10Kontrollér dine resultater. Husk, at kolonnerne EpisodeId og EventId var mellem kolonnerne EndTime og State. Hvilke af disse kolonner kan du se i outputtet?