operator range
Berlaku untuk: ✅Microsoft Fabric✅
Membuat tabel nilai satu kolom.
Catatan
Operator ini tidak mengambil input tabular.
Sintaks
range
columnNamefrom
mulaito
Stopstep
langkah
Pelajari selengkapnya tentang konvensi sintaksis.
Parameter
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
columnName | string |
✔️ | Nama kolom tunggal dalam tabel output. |
mulai | 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. |
langkah | int, long, real, datetime, atau timepan | ✔️ | 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 yang disebut columnName, yang nilainya dimulai, mulai +
langkah, ... hingga dan sampai berhenti.
Contoh
Contoh di bagian ini memperlihatkan cara menggunakan sintaks untuk membantu Anda memulai.
Contoh dalam artikel ini menggunakan tabel yang tersedia untuk umum di membantu kluster, seperti tabel
StormEvents
di database Sampel.
Contoh dalam artikel ini menggunakan tabel yang tersedia untuk umum, seperti tabel
StormEvents
di analitik Cuaca data sampel.
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
Hasil
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
Hasil
Waktu |
---|
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
Hasil
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
Hasil
Langkah |
---|
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