次の方法で共有


range 演算子

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

値が含まれる 1 列のテーブルを生成します。

Note

この演算子は表形式の入力を受け取りません。

構文

range columnNamefromstarttoストップstepステップ

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
columnName string ✔️ 出力テーブル内の単一列の名前。
start int、long、real、datetime、または timespan ✔️ 出力内の最小の値。
stop int、long、real、datetime、または timespan ✔️ 出力で生成される最大値。または、この値に対してステップ ステップ 場合は最大値にバインドされます。
step int、long、real、datetime、または timespan ✔️ 2 つの連続する値の差。

Note

値はどのテーブルの列も参照できません。 入力テーブルに基づいて範囲を計算する場合は、mv-expand 演算子でrange関数を使用します。

返品

値が startstart+..) である columnName という 1 つの列を持つテーブル。ストップまで

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

インクリメントされたステップ

次の例では、型が longSteps という 1 つの列を持つテーブルを作成し、1 から 8 の値を 3 ずつインクリメントします。

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