다음을 통해 공유


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 ✔️ 두 개의 연속 값 간의 차이입니다.

참고 항목

값은 테이블의 열을 참조할 수 없습니다. 입력 테이블을 기반으로 범위를 계산하려면 mv-expand 연산자에 범위 함수를 사용할 수 있습니다.

반품

columnName이라는 단일 열이 있는 테이블로, 값이 시작 최대 및 중지될 때까지.

예제

이 섹션의 예제에서는 구문을 사용하여 시작하는 방법을 보여 주었습니다.

이 문서의 예제에서는 샘플 데이터베이스의 StormEvents 테이블과 같은 도움말 클러스터공개적으로 사용할 수 있는 테이블을 사용합니다.

이 문서의 예제에서는 날씨 분석 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