operator range

Membuat tabel nilai satu kolom.

Catatan

Operator ini tidak mengambil input tabular.

Sintaks

rangecolumnNamefromstarttostopstepstep

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
columnName string ✔️ Nama kolom tunggal dalam tabel output.
start int, long, real, datetime, atau timespan ✔️ Nilai terkecil dalam output.
stop int, long, real, datetime, atau timespan ✔️ Nilai tertinggi yang dihasilkan dalam output atau terikat pada nilai tertinggi jika langkah-langkah di atas nilai ini.
Langkah int, long, real, datetime, atau timespan ✔️ Perbedaan antara dua nilai berturut-turut.

Catatan

Nilai tidak dapat mereferensikan kolom tabel apa pun. Jika Anda ingin menghitung rentang berdasarkan tabel input, gunakan fungsi rentang yang berpotensi dengan operator mv-expand .

Mengembalikan

Tabel dengan satu kolom memanggil columnName, yang nilainya adalah start, start+step, ... hingga dan sampai stop.

Contoh

Contoh berikut membuat tabel dengan entri untuk stempel waktu saat ini yang diperpanjang selama tujuh hari terakhir, sekali sehari.

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

Contoh berikut menunjukkan cara menggunakan range operator dengan parameter, yang kemudian diperluas dan digunakan sebagai 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

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

Contoh berikut membuat tabel dengan satu kolom yang disebut Steps jenisnya adalah long dan yang nilainya adalah 1, 4, dan 7.

range Steps from 1 to 8 step 3

Contoh berikut menunjukkan bagaimana range operator dapat digunakan untuk membuat tabel dimensi kecil, ad-hoc, yang kemudian digunakan untuk memperkenalkan nol di mana data sumber tidak memiliki nilai.

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