range-Operator
Gilt für: ✅Microsoft Fabric✅
Erzeugt eine einspaltige Tabelle mit Werten.
Hinweis
Dieser Operator verwendet keine tabellarische Eingabe.
Syntax
range
columnNamefrom
anfangento
aufhörenstep
Schritt
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung des Dataflows |
---|---|---|---|
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 oder an den höchsten Wert generiert wird, wenn Schritt diesen Wert übersteigen. |
Schritt | int, long, real, datetime oder timespan | ✔️ | Der Unterschied zwischen zwei aufeinander folgenden 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 potenziell mit dem mv-expand-Operator .
Gibt zurück
Eine Tabelle mit einer einzelnen Spalte namens "columnName", deren Werte beginnen, Beginnen +
, ... bis zu und bis zum Anhalten.
Beispiele
Das Beispiel in diesem Abschnitt zeigt, wie Sie die Syntax verwenden, um Ihnen bei den ersten Schritten zu helfen.
In den Beispielen in diesem Artikel werden öffentlich verfügbare Tabellen in der Hilfecluster-verwendet, z. B. die tabelle
StormEvents
in der datenbank Beispiele.
In den Beispielen in diesem Artikel werden öffentlich verfügbare Tabellen verwendet, z. B. die Tabelle
StormEvents
in der Wetteranalyse Beispieldaten.
Bereich über die letzten sieben Tage
Im folgenden Beispiel wird eine Tabelle mit Einträgen für den aktuellen Zeitstempel erstellt, der sich über die letzten sieben Tage erstreckt, einmal pro Tag.
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 |
Kombinieren unterschiedlicher Stoppzeiten
Das folgende Beispiel zeigt, wie Bereiche erweitert werden, um mehrere Stoppzeiten mithilfe des union
-Operators zu verwenden.
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
Zeit |
---|
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 |
Bereich mit Parametern
Das folgende Beispiel zeigt, wie der range
Operator mit Parametern verwendet wird, die dann als Tabelle erweitert und verbraucht 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
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 |
... | ... | ... | ... |
Inkrementierte Schritte
Im folgenden Beispiel wird eine Tabelle mit einer einzelnen Spalte namens Steps
erstellt, deren Typ long
ist, und führt zu Werten von 1 bis acht Schritten um drei.
range Steps from 1 to 8 step 3
Output
Schritte |
---|
1 |
4 |
7 |
Ablaufverfolgungen über einen Zeitraum
Das folgende Beispiel zeigt, wie der operator range
verwendet werden kann, um eine Dimensionstabelle zu erstellen, die verwendet wird, um Nullen einzuführen, bei denen die Quelldaten keine Werte enthalten. Es dauert Zeitstempel aus den letzten vier Stunden und zählt Ablaufverfolgungen für jedes einminütige Intervall. Wenn für ein bestimmtes Intervall keine Ablaufverfolgungen vorhanden sind, ist die Anzahl null.
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