Delen via


range operator

Applies to: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

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

Note

Deze operator neemt geen invoer in tabelvorm.

Syntax

range columnNamefromstarttostopstepstep

Learn more about syntax conventions.

Parameters

Name Type Required Description
columnName string ✔️ De naam van de enkele kolom in de uitvoertabel.
start int, long, real, datetime of timespan ✔️ De kleinste waarde in de uitvoer.
stop int, long, real, datetime of timespan ✔️ The highest value being generated in the output or a bound on the highest value if step is over this value.
step int, long, real, datetime of timespan ✔️ Het verschil tussen twee opeenvolgende waarden.

Note

De waarden kunnen niet verwijzen naar de kolommen van een tabel. If you want to compute the range based on an input table, use the range function potentially with the mv-expand operator.

Returns

A table with a single column called columnName, whose values are start, start+step, ... up to and until stop.

Examples

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

The examples in this article use publicly available tables in the help cluster, such as the StormEvents table in the Samples database.

The examples in this article use publicly available tables, such as the Weather table in the Weather analytics sample gallery. Mogelijk moet u de tabelnaam in de voorbeeldquery wijzigen zodat deze overeenkomt met de tabel in uw werkruimte.

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

Output

LastWeek
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

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

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

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

Incremented steps

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

Output

Steps
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