intervalloperator
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Genererar en tabell med en kolumn med värden.
Not
Den här operatorn tar inte några tabellindata.
Syntax
range
columnNamefrom
startato
stoppastep
steg
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Krävs | Beskrivning |
---|---|---|---|
columnName | string |
✔️ | Namnet på den enskilda kolumnen i utdatatabellen. |
starta | int, long, real, datetime eller timespan | ✔️ | Det minsta värdet i utdata. |
stoppa | int, long, real, datetime eller timespan | ✔️ | Det högsta värdet som genereras i utdata eller ett bundet på det högsta värdet om steg steg över det här värdet. |
steg | int, long, real, datetime eller timespan | ✔️ | Skillnaden mellan två på varandra följande värden. |
Not
Värdena kan inte referera till kolumnerna i någon tabell. Om du vill beräkna intervallet baserat på en indatatabell använder du intervall funktion potentiellt med operatorn mv-expand.
Returnerar
En tabell med en enda kolumn med namnet columnName, vars värden starta, starta+
steg, ... upp till och tills stoppa.
Exempel
Intervall under de senaste sju dagarna
I följande exempel skapas en tabell med poster för den aktuella tidsstämpeln som har utökats under de senaste sju dagarna, en gång om dagen.
range LastWeek from ago(7d) to now() step 1d
utdata
LastWeek |
---|
2015-12-05 09:10:04.627 |
2015-12-06 09:10:04.627 |
... |
2015-12-12 09:10:04.627 |
Kombinera olika stopptider
I följande exempel visas hur du utökar intervall för att använda flera stopptider med hjälp av operatorn 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
utdata
Tid |
---|
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 |
Intervall med parametrar
I följande exempel visas hur du använder operatorn range
med parametrar, som sedan utökas och används som en tabell.
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
utdata
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 |
... | ... | ... | ... |
Stegvisa steg
I följande exempel skapas en tabell med en enda kolumn med namnet Steps
vars typ är long
och resulterar i värden från en till åtta inkrementerade med tre.
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