다음을 통해 공유


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이라는 단일 열이 있는 테이블로, 값이 시작+ 최대 및 중지될 때까지.

예제

지난 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
... ... ... ...

증분 단계

다음 예제에서는 형식이 long 값이 1에서 8씩 3씩 증가되는 Steps라는 단일 열이 있는 테이블을 만듭니다.

range Steps from 1 to 8 step 3

| Steps |
|-------|
| 1     |
| 4     |
| 7     |

### Traces over a time range

The following example shows how the `range` operator can be used to create a dimension table that is used to introduce zeros where the source data has no values. It takes timestamps from the last four hours and counts traces for each one minute interval. When there are no traces for a specific interval, the count is zero.

```kusto
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