Udostępnij za pośrednictwem


operator zakresu

Dotyczy: ✅Microsoft Fabric

Generuje jednokolumniową tabelę wartości.

Uwaga

Ten operator nie pobiera danych wejściowych tabelarycznych.

Składnia

range nazwa_from kolumny początektozatrzymaćstepkrok

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
nazwa_kolumny string ✔️ Nazwa pojedynczej kolumny w tabeli wyjściowej.
start int, long, real, datetime lub timespan ✔️ Najmniejsza wartość w danych wyjściowych.
zatrzymać int, long, real, datetime lub timespan ✔️ Najwyższa wartość generowana w danych wyjściowych lub powiązana z najwyższą wartością, jeśli krok zostanie opisany w tej wartości.
krok int, long, real, datetime lub timespan ✔️ Różnica między dwiema kolejnymi wartościami.

Uwaga

Wartości nie mogą odwoływać się do kolumn żadnej tabeli. Jeśli chcesz obliczyć zakres na podstawie tabeli wejściowej, użyj funkcji zakresu potencjalnie z operatorem mv-expand .

Zwraca

Tabela z jedną kolumną o nazwie columnName, której wartości są uruchamiane, +, ... do i do zatrzymania.

Przykłady

Zakres w ciągu ostatnich siedmiu dni

Poniższy przykład tworzy tabelę z wpisami dla bieżącej sygnatury czasowej rozszerzonej w ciągu ostatnich siedmiu dni, raz dziennie.

range LastWeek from ago(7d) to now() step 1d

Wyjście

LastWeek
2015-12-05 09:10:04.627
2015-12-06 09:10:04.627
...
2015-12-12 09:10:04.627

Łączenie różnych godzin zatrzymania

W poniższym przykładzie pokazano, jak rozszerzyć zakresy na wielokrotne czasy zatrzymania przy użyciu operatora 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

Wyjście

Godzina
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

Zakres przy użyciu parametrów

W poniższym przykładzie pokazano, jak używać range operatora z parametrami, które są następnie rozszerzone i używane jako tabela.

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

Wyjście

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

Kroki przyrostowe

W poniższym przykładzie utworzono tabelę z jedną kolumną o nazwie Steps, której typ jest long, a wyniki są tworzone z jednej do ośmiu przyrostów o trzy.

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