operator jarak

Beralih layanan menggunakan menu tarik-turun Versi. Pelajari selengkapnya tentang navigasi.
Berlaku untuk: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

Membuat tabel nilai satu kolom.

Note

Operator ini tidak mengambil input tabular.

Syntax

range columnNamefromMulaitoStopstepLangkah

Pelajari selengkapnya tentang konvensi sintaksis.

Parameters

Name Type Required Description
columnName string ✔️ Nama kolom tunggal dalam tabel output.
start int, long, real, datetime, atau timepan ✔️ Nilai terkecil dalam output.
stop int, long, real, datetime, atau timepan ✔️ Nilai tertinggi yang dihasilkan dalam output atau terikat pada nilai tertinggi jika langkah melebihi nilai ini.
step int, long, real, datetime, atau timepan ✔️ Perbedaan antara dua nilai berturut-turut.

Note

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 .

Returns

Tabel dengan satu kolom yang disebut columnName, yang nilainya dimulai, mulai+langkah, ... hingga dan sampai berhenti.

Examples

Contoh di bagian ini memperlihatkan cara menggunakan sintaks untuk membantu Anda memulai.

Contoh dalam artikel ini menggunakan tabel yang tersedia untuk umum di kluster bantuan, seperti StormEvents tabel dalam database Sampel .

Contoh dalam artikel ini menggunakan tabel yang tersedia untuk umum, seperti Weather tabel di galeri sampel Analitik cuaca. Anda mungkin perlu mengubah nama tabel dalam contoh kueri agar sesuai dengan tabel di ruang kerja Anda.

Rentang selama tujuh hari terakhir

Contoh berikut membuat tabel dengan entri untuk stempel waktu saat ini 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

Menggabungkan waktu berhenti yang berbeda

Contoh berikut menunjukkan cara memperluas rentang untuk menggunakan beberapa waktu berhenti dengan menggunakan operator 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

Output

Time
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

Rentang menggunakan parameter

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

Langkah-langkah bertahas

Contoh berikut membuat tabel dengan satu kolom yang disebut Steps yang jenisnya long dan menghasilkan nilai dari satu hingga delapan yang bertambah tiga.

range Steps from 1 to 8 step 3

Output

Steps
1
4
7

Jejak selama rentang waktu

Contoh berikut menunjukkan bagaimana operator range dapat digunakan untuk membuat tabel dimensi yang digunakan untuk memperkenalkan nol di mana data sumber tidak memiliki nilai. Dibutuhkan tanda waktu dari empat jam terakhir dan menghitung jejak untuk setiap interval satu menit. Ketika tidak ada jejak untuk interval tertentu, jumlahnya adalah nol.

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