tartomány operátora
A következőkre vonatkozik: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Egyoszlopos értéktáblázatot hoz létre.
Jegyzet
Ez az operátor nem fogad táblázatos bemenetet.
Szintaxis
range
columnNamefrom
startto
stopstep
step
További információ szintaxiskonvenciákról.
Paraméterek
Név | Típus | Szükséges | Leírás |
---|---|---|---|
columnName | string |
✔️ | A kimeneti tábla egyetlen oszlopának neve. |
indítása | int, long, real, datetime vagy timespan | ✔️ | A kimenet legkisebb értéke. |
leállítása | int, long, real, datetime vagy timespan | ✔️ | Ha lépés túllépi ezt az értéket, a kimenetben generált legmagasabb érték vagy a legmagasabb értékre kötött kötés. |
lépés | int, long, real, datetime vagy timespan | ✔️ | Két egymást követő érték különbsége. |
Jegyzet
Az értékek nem hivatkozhatnak egyetlen tábla oszlopára sem. Ha egy bemeneti tábla alapján szeretné kiszámítani a tartományt, használja a tartomány függvényt az mv-expand operátorral.
Visszatér
Egy oszlopNévnevű egyetlen oszlopot tartalmazó táblázat, amelynek értékei kezdődnek, +
lépés, ... leállításáig.
Példák
Az ebben a szakaszban szereplő példa bemutatja, hogyan használható a szintaxis az első lépésekhez.
A cikkben szereplő példák a nyilvánosan elérhető tábláit használják a fürt, például a
StormEvents
adatbázis tábláját.
A cikkben szereplő példák nyilvánosan elérhető táblákat használnak, például a Weather Analytics
StormEvents
táblát, mintaadatokat.
Tartomány az elmúlt hét napban
Az alábbi példa egy táblázatot hoz létre, amely az elmúlt hét napban meghosszabbított aktuális időbélyeg bejegyzéseit tartalmazza, naponta egyszer.
range LastWeek from ago(7d) to now() step 1d
kimeneti
LastWeek |
---|
2015-12-05 09:10:04.627 |
2015-12-06 09:10:04.627 |
... |
2015-12-12 09:10:04.627 |
Különböző leállítási időpontok egyesítése
Az alábbi példa bemutatja, hogyan hosszabbíthat tartományokat több leállítási időpontra a union
operátor használatával.
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
kimeneti
Idő |
---|
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 |
Tartomány paraméterekkel
Az alábbi példa bemutatja, hogyan használhatja a range
operátort paraméterekkel, amelyeket aztán kiterjesztünk és táblázatként használunk fel.
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
kimeneti
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 |
... | ... | ... | ... |
Növekményes lépések
Az alábbi példa egy Steps
nevű egyetlen oszlopot tartalmazó táblát hoz létre, amelynek típusa long
, és egytől nyolcig terjedő értékeket eredményez hárommal növelve.
range Steps from 1 to 8 step 3
kimeneti
Lépések |
---|
1 |
4 |
7 |
Nyomkövetések egy időtartományban
Az alábbi példa bemutatja, hogyan használható a range
operátor olyan dimenziótáblák létrehozására, amelyek nullák bevezetésére szolgálnak, ahol a forrásadatok nem tartalmaznak értékeket. Az elmúlt négy óra időbélyegeit veszi figyelembe, és minden egyes egyperces időközhöz megszámlálja a nyomkövetést. Ha egy adott intervallumhoz nincs nyomkövetés, a szám nulla.
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