Упражнение. Выбор столбцов для возврата с помощью оператора project
Запросы Kusto можно использовать для фильтрации данных и возврата определенных сведений.
Помните, что вы рассмотрели произвольные строки данных, чтобы получить представление о структуре данных. В этом уроке вы научитесь выбирать определенные столбцы данных, относящихся к типу штормового ветра, месту его распространения и разрушительным последствиям.
Использовать оператор project
.
Если вы помните, пример метеорологических данных содержит довольно много столбцов. Для этого исследования вам понадобятся не все столбцы. Вы научитесь выбирать определенные столбцы для представления. Для определения столбцов, которые будут отображаться в выходных данных, необходим оператор project
. Имена столбцов разделяются запятыми.
Выполните следующий запрос. Этот запрос задает имена столбцов для возврата и их порядка в операторе
project
.StormEvents | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect | take 10
Вы должны получить результаты, аналогичные приведенным на следующем рисунке:
Обратите внимание, что в выходных данных отображаются только столбцы, имена которых указаны в операторе
project
.
Переименование и определение новых столбцов с помощью project
Чтобы понять масштаб воздействия штормовых ветров в различных штатах США, вам потребуются сведения об общем количестве травм и объеме причиненного ущерба. С помощью оператора project
можно суммировать целочисленные значения из разных столбцов и возвращать результаты в новый. Можно также переименовать столбцы, чтобы сделать их более информативными в рамках анализа.
Например, существуют другие страны или регионы с государствами. Целесообразно переименовать столбец "State" (Штат), чтобы было понятно, что результаты относятся к штатам США. Давайте посмотрим, как изменить предыдущий запрос, чтобы получить значения общего количества травм и объема ущерба для штатов США.
Обновите предыдущий запрос, чтобы создать столбец, в котором отображается сумма значений столбцов InjuriesDirect (Прямые травмы) и InjuriesIndirect (Косвенные травмы):
Injuries=InjuriesDirect+InjuriesIndirect
Сделайте то же самое для двух столбцов ущерба, сложив значения ущерба, причиненного урожаю, и ущерба, причиненного имуществу:
Damage=DamageCrops+DamageProperty
Наведите указатель мыши на имя столбца в редакторе запросов, чтобы просмотреть тип данных, содержащийся в столбцах. Для добавления значений можно использовать числовой оператор, так как эти столбцы имеют тип
int
(целое число).Переименуйте столбец State (Штат) в US_State (Штат США):
US_State=State
Проверьте обновленный запрос и запустите его. Полный запрос содержит вычисления, касающиеся травм и ущерба, а также переименовывает столбец State (Штат).
StormEvents | project US_State=State, EventType, Injuries=InjuriesDirect+InjuriesIndirect, Damage=DamageCrops+DamageProperty | take 10
Вы должны получить результаты, аналогичные приведенным на следующем рисунке:
Обратите внимание, что столбец State был переименован в US_State. Столбец Injuries является новым и вычисляется как сумма значений столбцов InjuriesDirect и InjuriesIndirect. Столбец Damage также является новым и вычисляется как сумма значений столбцов DamageCrops и DamageProperty.
Использовать оператор project-away
.
А если нужно удалить несколько выделенных столбцов? В рамках этого исследования вам не понадобятся идентификаторы, назначенные каждому эпизоду и событию. Вы можете удалить определенные столбцы с помощью project-away
оператора, указывающего, какие столбцы следует удалить, оставляя все остальные столбцы. Для удаления всех столбцов, которые заканчиваются на | project-away *Id
, можно использовать подстановочный знак, например .
Выполните приведенный ниже запрос:
StormEvents | project-away EpisodeId, EventId | take 10
Проверьте результаты. Вспомните, что столбцы EpisodeID и EventID находились между столбцами EndTime и State. Какие из этих столбцов отображаются в выходных данных?