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 stappen boven deze waarde.
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

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

| 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