tartományoperátor

Szolgáltatások váltása a Verzió legördülő listával. További információ a navigációról.
A következőkre vonatkozik: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

Egyoszlopos értéktáblázatot hoz létre.

Note

Ez az operátor nem fogad táblázatos bemenetet.

Syntax

range columnNamefromElkezdtoálljstepLépés

További információ szintaxiskonvenciákról.

Parameters

Name Típus Required Description
columnName string ✔️ A kimeneti tábla egyetlen oszlopának neve.
start int, long, real, datetime vagy timespan ✔️ A kimenet legkisebb értéke.
stop int, long, real, datetime vagy timespan ✔️ A kimenetben generált legmagasabb érték, vagy a legmagasabb értékhez kötött érték, ha a lépés meghaladja ezt az értéket.
step int, long, real, datetime vagy timespan ✔️ Két egymást követő érték különbsége.

Note

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ányfüggvényt az mv-expand operátorral.

Returns

Egy oszlopnév nevű egyetlen oszlopot tartalmazó táblázat, amelynek értékei a kezdés, a kezdési+lépés, ... fel- és leállításig.

Examples

Az ebben a szakaszban szereplő példa bemutatja, hogyan használható a szintaxis az első lépésekhez.

A cikkben szereplő példák nyilvánosan elérhető táblákat használnak a súgófürtben, például a StormEventsMintaadatbá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 Weather Analytics mintagyűjteményében található táblázatot. Előfordulhat, hogy módosítania kell a tábla nevét a példa lekérdezésben, hogy megfeleljen a munkaterület táblájának.

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

Output

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

Output

Time
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

Output

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

Output

Steps
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