Övning – Ordna om returnerade data med hjälp av sorteringsoperatorn
Kom ihåg att i exemplet med stormhändelser har du begränsat händelser efter tidsintervall, nyckelord och värden i en viss kolumn. Nu vill du organisera dessa resultat för att se de mest skadliga stormhändelserna först.
Använda operatorn sort
Det är svårt att förstå osorterade data. Nu ska vi göra det lite enklare att förstå genom att ordna i vilken ordning resultaten presenteras. Du vill veta vilka händelser som orsakade den högsta skadan på egenskapen, så att du beställer resultatet efter fältet DamageProperty
.
Kör följande fråga:
StormEvents | where DamageProperty > 0 | project State, EventType, DamageProperty | sort by DamageProperty desc
Du bör få resultat som ser ut som följande bild:
Observera att resultatet börjar från det högsta värdet för egenskapsskador och minskar. I själva verket sorterar frågan i fallande ordning som standard, så att du kan utelämna
desc
och få samma resultat. Tillstånds- och händelsetyperna sorteras inte på något sätt.
Sortera efter fler än ett uttryck
Varje region har unika vädermönster, så nu vill du veta vilka händelser i varje delstat som gjorde mest skada. För att besvara den här frågan sorterar du först efter tillståndsnamnet och sedan på skadorna i varje tillstånd. Operatorn sort
sorterar i fallande ordning som standard, så du använder asc
för att ange att du vill sortera tillståndsnamnen i stigande ordning.
Kör följande fråga:
StormEvents | where DamageProperty > 0 | project State, EventType, DamageProperty | sort by State asc, DamageProperty
Du bör få resultat som ser ut som följande bild:
Observera att du nu har fått en tabell med samma rader som föregående fråga, men sorterat i en annan ordning. Här sorterar vi först efter delstatsnamnet, med början i Alabama. I resultat från delstaten Alabama sorteras värdena för egendomsskador i fallande ordning.
Använda operatorn top
I stället för att sortera och skanna överst för ett visst antal resultat kan du använda operatorn top
för att visa ett visst antal toppresultat. I själva verket är operatorn top
mer högpresterande, så det är det föredragna valet när du bara vill ha ett visst antal toppresultat.
Kör följande fråga:
StormEvents | where State == "FLORIDA" | top 10 by DamageProperty | project State, EventType, DamageProperty
Du bör få resultat som ser ut som följande bild: