range 演算子
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft Sentinel
値が含まれる 1 列のテーブルを生成します。
Note
この演算子は表形式の入力を受け取りません。
構文
range
columnNamefrom
startto
ストップstep
ステップ
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
columnName | string |
✔️ | 出力テーブル内の単一列の名前。 |
start | int、long、real、datetime、または timespan | ✔️ | 出力内の最小の値。 |
stop | int、long、real、datetime、または timespan | ✔️ | 出力で生成される最大値。ステップ がこの値を超える場合、最大値にバインドされます。 |
step | int、long、real、datetime、または timespan | ✔️ | 2 つの連続する値の差。 |
返品
値が start、start+
..) である columnName という 1 つの列を持つテーブル。ストップまで。
例
このセクションの例では、構文を使用して作業を開始する方法を示します。
この記事の例では、Samples データベースの
StormEvents
テーブルなど、ヘルプ クラスターので一般公開されているテーブルを使用します。
過去 7 日間の範囲
次の例では、過去 7 日間に 1 日に 1 回、現在のタイム スタンプのエントリを含むテーブルを作成します。
range LastWeek from ago(7d) to now() step 1d
出力
LastWeek |
---|
2015-12-05 09:10:04.627 |
2015-12-06 09:10:04.627 |
... |
2015-12-12 09:10:04.627 |
異なる停止時間を組み合わせる
次の例は、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
出力
時間 |
---|
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 |
パラメーターを使用した範囲
次の例では、パラメーターと共に range
演算子を使用する方法を示します。この演算子は、テーブルとして拡張および使用されます。
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
出力
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 |
... | ... | ... | ... |
インクリメントされたステップ
次の例では、型が Steps
long
という 1 つの列を持つテーブルを作成し、1 から 8 の値を 3 ずつインクリメントします。
range Steps from 1 to 8 step 3
出力
ステップス |
---|
1 |
4 |
7 |
時間範囲のトレース
次の例は、range
演算子を使用して、ソース データに値がないゼロを導入するために使用されるディメンション テーブルを作成する方法を示しています。 過去 4 時間のタイムスタンプを取得し、1 分間隔ごとにトレースをカウントします。 特定の間隔のトレースがない場合、カウントは 0 になります。
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