연습 - 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 연산자를 사용하여 여러 열의 정수 값을 합산하고 결과를 새 열에 반환할 수 있습니다. 열 이름을 변경하여 분석에 더 의미 있게 만들 수도 있습니다.

예를 들어, 여러 주로 구성된 다른 국가/지역도 있으므로 결과가 미국 주에 대한 것임이 확실히 표시되도록 주 열의 이름을 변경하면 도움이 될 수 있습니다. 미국 주의 총 부상자 수와 피해량을 알아내기 위해 이전 쿼리를 변경하는 방법을 살펴보겠습니다.

  1. 이전 쿼리를 업데이트하여 InjuriesDirectInjuriesIndirect의 합계를 보여 주는 새 열을 만듭니다.

    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 열이 새로 생겼고, InjuriesDirectInjuriesIndirect의 합계로 계산되었습니다. Damage 열도 새로 생겼으며, DamageCropsDamageProperty의 합계로 계산되었습니다.

project-away 연산자 사용

몇 개의 선택한 열을 제거하려면 어떻게 해야 합니까? 여기서는 각 에피소드와 이벤트에 할당된 ID를 사용하지 않습니다. 나머지 열은 모두 놔두고, 제거할 열을 나타내는 project-away 연산자를 사용하여 특정 열을 제거할 수 있습니다. | project-away *Id 같은 와일드카드를 사용하여 Id로 끝나는 열을 모두 제거할 수도 있습니다.

  1. 다음 쿼리를 실행합니다.

    쿼리 실행

    StormEvents
    | project-away EpisodeId, EventId
    | take 10
    
  2. 결과를 확인하세요. EpisodeIdEventId 열은 EndTimeState 열 사이에 있었습니다. 이 중에서 출력에 표시되는 열은 무엇입니까?