Упражнение. Выбор столбцов для возврата с помощью оператора project

Завершено

Запросы Kusto можно использовать для фильтрации данных и возврата определенных сведений.

Напомним, что вы рассмотрели произвольные строки данных, чтобы понять их структуру. В этом уроке вы научитесь выбирать определенные столбцы данных, относящихся к типу штормового ветра, месту его распространения и разрушительным последствиям.

Используйте оператор project.

Если вы помните, пример метеорологических данных содержит довольно много столбцов. Для этого исследования вам понадобятся не все столбцы. Вы научитесь выбирать определенные столбцы для представления. Для определения столбцов, которые будут отображаться в выходных данных, необходим оператор project. Имена столбцов разделяются запятыми.

  1. Выполните следующий запрос. Этот запрос задает имена столбцов для возврата и их порядка в операторе project .

    Выполнить запрос

    StormEvents
    | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect
    | take 10
    
  2. Вы должны получить результаты, аналогичные приведенным на следующем рисунке:

    Screenshot of project operator results with six columns.

  3. Обратите внимание, что в выходных данных отображаются только столбцы, имена которых указаны в операторе project.

Переименование и определение новых столбцов с помощью project

Чтобы понять масштаб воздействия штормовых ветров в различных штатах США, вам потребуются сведения об общем количестве травм и объеме причиненного ущерба. С помощью оператора project можно суммировать целочисленные значения из разных столбцов и возвращать результаты в новый. Можно также переименовать столбцы, чтобы сделать их более информативными в рамках анализа.

Например, существуют другие страны или регионы с государствами. Целесообразно переименовать столбец "State" (Штат), чтобы было понятно, что результаты относятся к штатам США. Давайте посмотрим, как изменить предыдущий запрос, чтобы получить значения общего количества травм и объема ущерба для штатов США.

  1. Обновите предыдущий запрос, чтобы создать столбец, в котором отображается сумма значений столбцов InjuriesDirect (Прямые травмы) и InjuriesIndirect (Косвенные травмы):

    Injuries=InjuriesDirect+InjuriesIndirect

  2. Сделайте то же самое для двух столбцов ущерба, сложив значения ущерба, причиненного урожаю, и ущерба, причиненного имуществу:

    Damage=DamageCrops+DamageProperty

  3. Наведите указатель мыши на имя столбца в редакторе запросов, чтобы просмотреть тип данных, содержащийся в столбцах. Для добавления значений можно использовать числовой оператор, так как эти столбцы имеют тип int (целое число).

    Screenshot of the data type in a query editor.

  4. Переименуйте столбец State (Штат) в US_State (Штат США):

    US_State=State

  5. Проверьте обновленный запрос и запустите его. Полный запрос содержит вычисления, касающиеся травм и ущерба, а также переименовывает столбец State (Штат).

    Выполнить запрос

    StormEvents
    | project US_State=State, EventType, Injuries=InjuriesDirect+InjuriesIndirect, Damage=DamageCrops+DamageProperty
    | take 10
    
  6. Вы должны получить результаты, аналогичные приведенным на следующем рисунке:

    Screenshot of query results for a project operator that renames columns.

  7. Обратите внимание, что столбец State был переименован в US_State. Столбец Injuries является новым и вычисляется как сумма значений столбцов InjuriesDirect и InjuriesIndirect. Столбец Damage также является новым и вычисляется как сумма значений столбцов DamageCrops и DamageProperty.

Используйте оператор project-away.

А если нужно удалить несколько выделенных столбцов? В рамках этого исследования вам не понадобятся идентификаторы, назначенные каждому эпизоду и событию. Вы можете удалить определенные столбцы с помощью project-away оператора, указывающего, какие столбцы следует удалить, оставляя все остальные столбцы. Для удаления всех столбцов, которые заканчиваются на ID, можно использовать подстановочный знак, например | project-away *Id.

  1. Выполните приведенный ниже запрос:

    Выполнить запрос

    StormEvents
    | project-away EpisodeId, EventId
    | take 10
    
  2. Проверьте результаты. Вспомните, что столбцы EpisodeID и EventID находились между столбцами EndTime и State. Какие из этих столбцов отображаются в выходных данных?