Delen via


bereikoperator

Van toepassing op: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel-

Hiermee wordt een tabel met één kolom met waarden gegenereerd.

Notitie

Deze operator neemt geen invoer in tabelvorm.

Syntaxis

range columnNamefromtostepstap

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
columnName string ✔️ De naam van de enkele kolom in de uitvoertabel.
starten int, long, real, datetime of timespan ✔️ De kleinste waarde in de uitvoer.
stoppen met int, long, real, datetime of timespan ✔️ De hoogste waarde die wordt gegenereerd in de uitvoer of een afhankelijke van de hoogste waarde als stap deze waarde heeft overschreden.
stap int, long, real, datetime of timespan ✔️ Het verschil tussen twee opeenvolgende waarden.

Notitie

De waarden kunnen niet verwijzen naar de kolommen van een tabel. Als u het bereik wilt berekenen op basis van een invoertabel, gebruikt u het bereik functie mogelijk met de operator mv-expand.

Retourneert

Een tabel met één kolom met de naam columnName, waarvan de waarden beginnen, +stap, ... tot en met stoppen.

Voorbeelden

In het voorbeeld in deze sectie ziet u hoe u de syntaxis gebruikt om aan de slag te gaan.

In de voorbeelden in dit artikel worden openbaar beschikbare tabellen gebruikt in de Help-cluster, zoals de StormEvents tabel in de Voorbeelden database.

In de voorbeelden in dit artikel worden openbaar beschikbare tabellen gebruikt, zoals de tabel StormEvents in de weather analytics voorbeeldgegevens.

Bereik gedurende de afgelopen zeven dagen

In het volgende voorbeeld wordt een tabel gemaakt met vermeldingen voor het huidige tijdstempel dat de afgelopen zeven dagen, eenmaal per dag, is verlengd.

range LastWeek from ago(7d) to now() step 1d

uitvoer

Vorige week
2015-12-05 09:10:04.627
2015-12-06 09:10:04.627
...
2015-12-12 09:10:04.627

Verschillende stoptijden combineren

In het volgende voorbeeld ziet u hoe u bereiken kunt uitbreiden om meerdere stoptijden te gebruiken met behulp van de operator 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

uitvoer

Tijd
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

Bereik met parameters

In het volgende voorbeeld ziet u hoe u de operator range gebruikt met parameters, die vervolgens worden uitgebreid en gebruikt als een tabel.

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

uitvoer

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
... ... ... ...

Stapsgewijze stappen

In het volgende voorbeeld wordt een tabel gemaakt met één kolom met de naam Steps waarvan het type long is en resulteert in waarden van één tot acht verhoogd met drie.

range Steps from 1 to 8 step 3

uitvoer

Stappen
1
4
7

Traceringen gedurende een tijdsbereik

In het volgende voorbeeld ziet u hoe de operator range kan worden gebruikt om een dimensietabel te maken die wordt gebruikt om nullen te introduceren waarbij de brongegevens geen waarden bevatten. Het duurt tijdstempels van de afgelopen vier uur en telt traceringen voor elk interval van één minuut. Wanneer er geen traceringen zijn voor een specifiek interval, is het aantal nul.

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