range 연산자
적용 대상: ✅Microsoft Fabric✅
값의 단일 열 테이블을 생성합니다.
참고 항목
이 연산자는 테이블 형식 입력을 수행하지 않습니다.
구문
range
columnNamefrom
시작하다to
멈추다step
걸음
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
columnName | string |
✔️ | 출력 테이블에 있는 단일 열의 이름입니다. |
start | int, long, real, datetime 또는 timespan | ✔️ | 출력에서 가장 작은 값입니다. |
stop | int, long, real, datetime 또는 timespan | ✔️ | 출력에서 생성되는 가장 높은 값이거나 단계 이 값보다 높은 값에 바인딩된 값입니다. |
step | int, long, real, datetime 또는 timespan | ✔️ | 두 개의 연속 값 간의 차이입니다. |
반품
columnName이라는 단일 열이 있는 테이블로, 값이 시작 최대 및 중지될 때까지.
예제
이 섹션의 예제에서는 구문을 사용하여 시작하는 방법을 보여 주었습니다.
이 문서의 예제에서는 샘플 데이터베이스의
StormEvents
테이블과 같은 도움말 클러스터공개적으로 사용할 수 있는 테이블을 사용합니다.
지난 7일 동안의 범위
다음 예제에서는 하루에 한 번 지난 7일 동안 연장된 현재 타임스탬프를 입력한 테이블을 만듭니다.
range LastWeek from ago(7d) to now() step 1d
출력
LastWeek |
---|
2015-12-05 09:10:04.627 |
2015-12-06 09:10:04.627 |
... |
2015-12-12 09:10:04.627 |
다른 중지 시간 결합
다음 예제에서는 union
연산자를 사용하여 여러 중지 시간을 사용하도록 범위를 확장하는 방법을 보여 줍니다.
let Range1 = range Time from datetime(2024-01-01) to datetime(2024-01-05) step 1d;
let Range2 = range Time from datetime(2024-01-06) to datetime(2024-01-10) step 1d;
union Range1, Range2
| order by Time asc
출력
시간 |
---|
2024-01-04 00:00:00.0000000 |
2024-01-05 00:00:00.0000000 |
2024-01-06 00:00:00.0000000 |
2024-01-07 00:00:00.0000000 |
2024-01-08 00:00:00.0000000 |
2024-01-09 00:00:00.0000000 |
2024-01-10 00:00:00.0000000 |
매개 변수를 사용하는 범위
다음 예제에서는 매개 변수와 함께 연산자를 range
사용하는 방법을 보여 하며, 이 연산자는 테이블로 확장되고 사용됩니다.
let toUnixTime = (dt:datetime)
{
(dt - datetime(1970-01-01)) / 1s
};
let MyMonthStart = startofmonth(now()); //Start of month
let StepBy = 4.534h; //Supported timespans
let nn = 64000; // Row Count parametrized
let MyTimeline = range MyMonthHour from MyMonthStart to now() step StepBy
| extend MyMonthHourinUnixTime = toUnixTime(MyMonthHour), DateOnly = bin(MyMonthHour,1d), TimeOnly = MyMonthHour - bin(MyMonthHour,1d)
; MyTimeline | order by MyMonthHour asc | take nn
출력
MyMonthHour | MyMonthHourinUnixTime | DateOnly | TimeOnly |
---|---|---|---|
2023-02-01 | 00:00:00.0000000 | 1675209600 | 2023-02-01 00:00:00.0000000 |
2023-02-01 | 04:32:02.4000000 | 1675225922.4 | 2023-02-01 00:00:00.0000000 |
2023-02-01 | 09:04:04.8000000 | 1675242244.8 | 2023-02-01 00:00:00.0000000 |
2023-02-01 | 13:36:07.2000000 | 1675258567.2 | 2023-02-01 00:00:00.0000000 |
... | ... | ... | ... |
증분 단계
다음 예제에서는 형식이 Steps
값이 1에서 8씩 3씩 증가되는 long
라는 단일 열이 있는 테이블을 만듭니다.
range Steps from 1 to 8 step 3
출력
단계 |
---|
1 |
4 |
7 |
시간 범위에 대한 추적
다음 예제에서는 range
연산자를 사용하여 원본 데이터에 값이 없는 0을 도입하는 데 사용되는 차원 테이블을 만드는 방법을 보여 줍니다. 지난 4시간의 타임스탬프가 필요하며 각 1분 간격에 대한 추적 수를 계산합니다. 특정 간격에 대한 추적이 없으면 개수는 0입니다.
range TIMESTAMP from ago(4h) to now() step 1m
| join kind=fullouter
(Traces
| where TIMESTAMP > ago(4h)
| summarize Count=count() by bin(TIMESTAMP, 1m)
) on TIMESTAMP
| project Count=iff(isnull(Count), 0, Count), TIMESTAMP
| render timechart