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 kroku jest ponad tą 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 +
.
Przykłady
W przykładzie w tej sekcji pokazano, jak używać składni, aby ułatwić rozpoczęcie pracy.
Przykłady w tym artykule używają publicznie dostępnych tabel w pomocy klastra, takich jak tabela
StormEvents
w bazie danych przykładów.
Przykłady w tym artykule używają publicznie dostępnych tabel, takich jak tabela
StormEvents
w przykładowej analizie pogody przykładowych danych.
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
Wyjście
Kroki |
---|
1 |
4 |
7 |
Ślady w zakresie czasu
W poniższym przykładzie pokazano, jak można użyć operatora range
do utworzenia tabeli wymiarów używanej do wprowadzenia zer, w których dane źródłowe nie mają wartości. Trwa to znaczniki czasu z ostatnich czterech godzin i zlicza ślady dla każdego interwału jednej minuty. Jeśli nie ma śladów dla określonego interwału, liczba jest równa zero.
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