bin()
값을 지정된 bin 크기의 아래쪽 정수 배로 반올림합니다.
summarize by ...
와 함께 자주 사용됩니다.
분산된 값 집합이 있는 경우 더 작은 특정 값 집합으로 그룹화됩니다.
bin()
및floor()
함수는 동일합니다.
Syntax
bin(
value,
roundTo)
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | 형식 | 필수 | Description |
---|---|---|---|
value | int, long, real, timespan 또는 datetime | ✔️ | 반올림할 값입니다. |
roundTo | int, long, real 또는 timespan | ✔️ | 값을 나누는 "bin 크기"입니다. |
반환
값보다 작은 roundTo의 가장 가까운 배수입니다. Null 값, null bin 크기 또는 음수 bin 크기는 null이 됩니다.
예제
숫자 bin
print bin(4.5, 1)
출력
print_0 |
---|
4 |
Timespan bin
print bin(time(16d), 7d)
출력
print_0 |
---|
14:00:00:00 |
Datetime bin
print bin(datetime(1970-05-11 13:45:07), 1d)
출력
print_0 |
---|
1970-05-11T00:00:00Z |
null bin이 있는 테이블 패딩
테이블에 해당 행이 없는 bin에 대한 행이 있는 경우 테이블을 해당 bin으로 패딩하는 것이 좋습니다. 다음 쿼리는 4월에 1주일 동안 캘리포니아에서 발생한 강풍 이벤트를 살펴봅습니다. 그러나 일부 날에는 이벤트가 없습니다.
let Start = datetime('2007-04-07');
let End = Start + 7d;
StormEvents
| where StartTime between (Start .. End)
| where State == "CALIFORNIA" and EventType == "Strong Wind"
| summarize PropertyDamage=sum(DamageProperty) by bin(StartTime, 1d)
출력
StartTime | 재산피해 |
---|---|
2007-04-08T00:00:00Z | 3000 |
2007-04-11T00:00:00Z | 1000 |
2007-04-12T00:00:00Z | 105000 |
전체 주를 나타내기 위해 다음 쿼리는 누락된 날짜에 대한 null 값으로 결과 테이블을 채운다. 프로세스에 대한 단계별 설명은 다음과 같습니다.
- 연산자를
union
사용하여 테이블에 행을 더 추가합니다. range
연산자는 단일 행과 열이 있는 테이블을 생성합니다.- 함수의 연산자는
mv-expand
range
와EndTime
사이에StartTime
bin이 있는 만큼의 행을 만듭니다. PropertyDamage
0
을 사용합니다.- 연산자는
summarize
원래 테이블의 bin을 식에서 생성된union
테이블로 그룹화합니다. 이 프로세스를 통해 출력의 행은 bin마다 하나로 유지되고 값은 0개 또는 원래 개수로 유지됩니다.
let Start = datetime('2007-04-07');
let End = Start + 7d;
StormEvents
| where StartTime between (Start .. End)
| where State == "CALIFORNIA" and EventType == "Strong Wind"
| union (
range x from 1 to 1 step 1
| mv-expand StartTime=range(Start, End, 1d) to typeof(datetime)
| extend PropertyDamage=0
)
| summarize PropertyDamage=sum(DamageProperty) by bin(StartTime, 1d)
출력
StartTime | 재산피해 |
---|---|
2007-04-07T00:00:00Z | 0 |
2007-04-08T00:00:00Z | 3000 |
2007-04-09T00:00:00Z | 0 |
2007-04-10T00:00:00Z | 0 |
2007-04-11T00:00:00Z | 1000 |
2007-04-12T00:00:00Z | 105000 |
2007-04-13T00:00:00Z | 0 |
2007-04-14T00:00:00Z | 0 |
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기