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ątekto
zatrzymaćstep
krok
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