연습 - 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
다음 이미지와 같은 결과가 표시됩니다.