Freigeben über


range-Operator

Erzeugt eine einspaltige Tabelle mit Werten.

Hinweis

Dieser Operator nimmt keine tabellarische Eingabe an.

Syntax

rangeColumnnamefromStartentoStoppenstepSchritt

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich BESCHREIBUNG
columnName string ✔️ Der Name der einzelnen Spalte in der Ausgabetabelle.
start int, long, real, datetime oder timespan ✔️ Der kleinste Wert in der Ausgabe.
stop int, long, real, datetime oder timespan ✔️ Der höchste Wert, der in der Ausgabe generiert wird, oder eine, die auf den höchsten Wert gebunden ist, wenn Schrittschritte über diesen Wert ausgeführt werden.
step int, long, real, datetime oder timespan ✔️ Der Unterschied zwischen zwei aufeinanderfolgenden Werten.

Hinweis

Die Werte können nicht auf die Spalten einer Tabelle verweisen. Wenn Sie den Bereich basierend auf einer Eingabetabelle berechnen möchten, verwenden Sie die Bereichsfunktion möglicherweise mit dem Operator mv-expand .

Gibt zurück

Eine Tabelle mit einer einzelnen Spalte namens columnName, deren Werte start, start+step, ... bis und bis zum Anhalten.

Beispiele

Im folgenden Beispiel wird eine Tabelle mit Einträgen für den aktuellen Zeitstempel erstellt, der einmal täglich über die letzten sieben Tage verlängert wurde.

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

Ausgabe

LastWeek
2015-12-05 09:10:04.627
2015-12-06 09:10:04.627
...
2015-12-12 09:10:04.627

Im folgenden Beispiel wird gezeigt, wie der range Operator mit Parametern verwendet wird, die dann als Tabelle erweitert und genutzt werden.

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

Ausgabe

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

Im folgenden Beispiel wird eine Tabelle mit einer einzelnen Spalte erstellt Steps , deren Typ ist long und deren Werte 1sind , 4und 7.

range Steps from 1 to 8 step 3

Das folgende Beispiel zeigt, wie der range Operator verwendet werden kann, um eine kleine Ad-hoc-Dimensionstabelle zu erstellen, die dann verwendet wird, um Nullen einzuführen, bei denen die Quelldaten keine Werte enthalten.

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