연습 - sort 연산자를 사용하여 반환된 데이터 다시 정렬

완료됨

폭풍우 이벤트 예제에서는 시간 범위, 키워드 및 특정 열의 값으로 이벤트 범위를 좁혔습니다. 이제 이러한 결과를 구성하여 가장 큰 피해를 입히는 폭풍우 이벤트를 확인하려고 합니다.

sort 연산자 사용

정렬되지 않은 데이터는 이해하기 어렵습니다. 결과가 제시되는 순서를 구성하여 좀 더 쉽게 이해할 수 있도록 만들겠습니다. 재산에 가장 큰 피해를 입힌 이벤트를 알고 싶으면 DamageProperty 필드를 기준으로 결과를 정렬합니다.

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

    쿼리 실행

    StormEvents
    | where DamageProperty > 0
    | project State, EventType, DamageProperty
    | sort by DamageProperty desc
    
  2. 다음 이미지와 같은 결과가 표시됩니다.

    Screenshot of query results for the sort operator.

  3. 결과는 가장 큰 재산 피해 값부터 시작하여 감소합니다. 실제로 쿼리는 기본적으로 내림차순으로 정렬되므로 desc를 빼도 동일한 결과를 얻을 수 있습니다. 어쨌든 주와 이벤트 유형은 정렬되지 않습니다.

두 개 이상의 식 정렬

각 지역에는 고유한 날씨 패턴이 있으므로 이제 각 주의 어떤 이벤트가 가장 큰 피해를 입혔는지 알고자 합니다. 이 질문에 답하기 위해 먼저 주 이름을 기준으로 정렬한 다음, 각 주 내의 피해를 기준으로 정렬합니다. sort 연산자는 기본적으로 내림차순으로 정렬하므로, asc 연산자를 사용하여 주 이름을 오름차순으로 정렬하려고 함을 나타냅니다.

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

    쿼리 실행

    StormEvents
    | where DamageProperty > 0
    | project State, EventType, DamageProperty
    | sort by State asc, DamageProperty
    
  2. 다음 이미지와 같은 결과가 표시됩니다.

    Screenshot of query results for two sort operators.

  3. 이제 이전 쿼리와 동일한 행이 있지만 다른 순서로 정렬된 테이블이 생겼습니다. 여기서는 먼저 앨라배마부터 주 이름을 기준으로 정렬합니다. 앨라배마 주의 결과 내에 재산 피해 값이 내림차순으로 정렬됩니다.

top 연산자 사용

상위 특정 수의 결과를 정렬하고 검사하는 대신, top 연산자를 사용하여 특정 수의 상위 결과를 표시할 수 있습니다. 실제로 top 연산자는 성능이 더 우수하므로 특정 개수의 상위 결과만 원하는 경우 선호되는 옵션입니다.

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

    쿼리 실행

    StormEvents
    | where State == "FLORIDA"
    | top 10 by DamageProperty
    | project State, EventType, DamageProperty
    
  2. 다음 이미지와 같은 결과가 표시됩니다.

    Screenshot of query results for the top operator.