Упражнение. Изменение порядка возвращаемых данных с помощью оператора sort
Напомним, что в примере с видами штормовых ветров вы сузили выборку по диапазону времени, ключевым словам и значениям в определенном столбце. Теперь нужно упорядочить эти результаты, чтобы первыми отображались события с максимально разрушительными последствиями.
Использовать оператор sort
.
Разобраться в неупорядоченных данных довольно сложно. Давайте сделаем данные более доступными для понимания и организуем представление результатов. Чтобы выяснить, какие события нанесли наибольший ущерб имуществу, необходимо упорядочить результаты по полю DamageProperty
.
Выполните приведенный ниже запрос:
StormEvents | where DamageProperty > 0 | project State, EventType, DamageProperty | sort by DamageProperty desc
Вы должны получить результаты, аналогичные приведенным на следующем рисунке:
Обратите внимание, что результаты начинаются с наибольшего значения причиненного имуществу ущерба и далее уменьшаются. На самом деле запрос выполняет сортировку в порядке убывания по умолчанию, поэтому, если опустить
desc
, вы получите те же результаты. Штаты и типы событий никак не упорядочиваются.
Сортировка по нескольким выражениям
Каждый регион характеризуется уникальными погодными условиями, поэтому нам хотелось бы узнать, какие события в каждом штате нанесли наибольший ущерб. Чтобы ответить на этот вопрос, сначала выполним сортировку по названию штата, а затем — по объему ущерба в каждом штате. Оператор sort
по умолчанию производит сортировку по убыванию, поэтому воспользуйтесь asc
, чтобы сортировать названия штатов по возрастанию.
Выполните приведенный ниже запрос:
StormEvents | where DamageProperty > 0 | project State, EventType, DamageProperty | sort by State asc, DamageProperty
Вы должны получить результаты, аналогичные приведенным на следующем рисунке:
Обратите внимание, что вы получили таблицу с теми же строками, что и в предыдущем запросе, но теперь она отсортирована в другом порядке. Сначала проведена сортировка по названию штата, начиная с Алабамы. В результатах по штату Алабама значения ущерба, причиненного имуществу, отсортированы по убыванию.
Использовать оператор top
.
Вместо сортировки и сканирования верхней части результатов можно использовать top
оператор для отображения определенного количества лучших результатов. Оператор top
в принципе более производительный, поэтому это оптимальный выбор, если вам нужно вернуть определенное количество наиболее подходящих результатов.
Выполните приведенный ниже запрос:
StormEvents | where State == "FLORIDA" | top 10 by DamageProperty | project State, EventType, DamageProperty
Вы должны получить результаты, аналогичные приведенным на следующем рисунке: