연습 - 렌더링 연산자를 사용하여 데이터 시각화
우리는 기상 데이터 세트를 사용하여 2007년 한해 동안 미국의 여러 주에서 특정 종류에 속한 폭풍 이벤트의 수를 집계하고 비교했습니다. 여기서는 시간 범주 그래프를 사용하여 이러한 결과를 시각화합니다.
render
연산자 사용
summarize
연산자를 사용하여 상태와 같은 공통 필드를 기준으로 이벤트를 그룹화했습니다. 이전 단원에서는 다양한 버전의 count
연산자를 사용하여 상태별 이벤트 수와 형식을 비교했습니다. 이러한 결과를 시각화하면 여러 주에서의 활동을 비교하는 데 도움이 될 수 있습니다.
결과를 시각화하려면 render
연산자를 사용합니다. 이 연산자는 쿼리의 끝에 제공됩니다. render
연산자 내에서 사용할 시각화 유형(예: columnchart
, barchart
, piechart
, scatterchart
, pivotchart
등)을 지정합니다. x축 또는 y축과 같은 시각화의 다양한 속성을 필요에 따라 정의할 수도 있습니다.
이 예제에서는 가로 막대형 차트를 사용하여 이전 쿼리를 시각화합니다.
다음 쿼리를 실행합니다.
StormEvents | summarize count(), EventsWithDamageToCrops = countif(DamageCrops > 0), dcount(EventType) by State | sort by count_ | render barchart
다음 이미지와 같은 결과가 표시됩니다.
가로 막대형 차트 오른쪽의 범례를 확인합니다. 범례의 각 값은 쿼리에서 ‘상태’별로 요약된 데이터의 다른 열을 나타냅니다. 여러 값 중 한 가지(예: count_)를 선택하여 가로 막대형 차트에서 이 데이터의 표시를 전환합니다. count_를 해제하면 총 개수가 제거되며 피해를 초래한 이벤트의 수와 고유 이벤트 수가 남게 됩니다. 다음 이미지와 같은 그래프가 표시됩니다.
화면에 표시되는 가로 막대형 차트를 살펴보세요. 이 정보를 통해 얻을 수 있는 인사이트는 무엇인가요? 예를 들어, 텍사스는 개별 폭풍 이벤트 건수가 가장 많았지만 아이오와는 피해를 동반한 폭풍 이벤트의 발생률이 가장 높았습니다.
bin()
함수를 사용하여 값 그룹화
지금까지 집계 함수를 사용하여 상태별로 이벤트를 그룹화했습니다. 이제 데이터를 시간별로 그룹화하여 일년 내내 폭풍의 분포를 살펴보겠습니다. 모든 레코드에 있는 시간 값은 시작 시간과 종료 시간입니다. 이벤트 시작 시간을 주별로 그룹화하여 2007년 한 해 동안 매주 발생한 폭풍의 건수를 살펴보겠습니다.
값을 설정된 간격으로 그룹화하는 bin()
함수를 사용합니다. 예를 들면, 연중 매일의 데이터가 있을 수 있으며 이러한 날짜를 주별로 그룹화하려고 합니다. 또는 모집단 데이터를 연령 집단별로 그룹화하려고 합니다. 이 연산자의 구문은 다음과 같습니다.
bin(
value,
roundTo)
bin 값은 숫자, 날짜 또는 시간 간격일 수 있습니다. bin()
함수를 사용하여 개수를 집계하면 주당 이벤트 수를 계산할 수 있습니다. 그룹화하려는 값은 폭풍 이벤트의 StartTime이며 roundTo bin 크기는 7days 또는 7d(약칭)입니다. 마지막으로 데이터를 열 차트로 렌더링하여 히스토그램을 만듭니다.
다음 쿼리를 실행합니다.
StormEvents | summarize count() by bin(StartTime, 7d) | render columnchart
다음 이미지와 같은 결과가 표시됩니다.
생성된 히스토그램을 살펴보세요. 막대 중 하나를 마우스로 가리키면 bin 시작 시간(x 값)과 이벤트 수(y 값)가 표시됩니다.
sum
연산자 사용
이전 쿼리에서는 시간 경과에 따른 폭풍 이벤트의 수를 살펴보았습니다. 이제 이러한 폭풍으로 인해 발생한 피해를 살펴보겠습니다. 이를 위해 각 시간 간격에서 발생한 총 피해량을 확인할 필요가 있으므로 sum
집계 함수를 사용합니다. 작업 중인 데이터 세트에는 피해와 관련된 두 개의 열인 DamageProperty 열과 DamageCrops 열이 있습니다.
다음 쿼리에서는 먼저 이러한 두 피해 소스를 함께 추가하는 계산 열을 만듭니다. 그런 다음, 주별로 범주화된 총 피해의 집계를 만듭니다. 마지막으로 모든 폭풍으로 인해 발생한 주간 피해를 나타내는 세로 막대형 차트를 렌더링합니다.
다음 쿼리를 실행합니다.
StormEvents | extend damage = DamageProperty + DamageCrops | summarize sum(damage) by bin(StartTime, 7d) | render columnchart
다음 이미지와 같은 결과가 표시됩니다.
이전 쿼리는 시간 함수로 피해를 표시합니다. 피해를 비교하는 또 다른 방법은 이벤트 유형입니다. 다음 쿼리를 실행하여 원형 차트를 사용하여 상이한 이벤트 유형으로 인한 피해를 비교합니다.
StormEvents | extend damage = DamageProperty + DamageCrops | summarize sum(damage) by EventType | render piechart
다음 이미지와 같은 결과가 표시됩니다.
원형 차트의 조각 중 하나를 마우스로 가리킵니다. 절대값(이 이벤트 유형으로 인해 발생한 총 피해액)과 전체 피해액 중 해당 백분율이 표시됩니다.