Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Beralih layanan menggunakan menu tarik-turun Versi. Pelajari selengkapnya tentang navigasi.
Berlaku untuk: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Membulatkan nilai ke kelipatan integer dari ukuran bin tertentu.
Sering digunakan dalam kombinasi dengan summarize by ....
Jika Anda memiliki kumpulan nilai yang tersebar, nilai tersebut akan dikelompokkan ke dalam sekelompok nilai tertentu yang lebih kecil.
Fungsi
bin()danfloor()setara
Sintaks
bin(
nilai,roundTo)
Pelajari selengkapnya tentang konvensi sintaksis.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| nilai | int, long, real, timespan, atau datetime | ✔️ | Nilai yang akan dibulatkan ke bawah. |
| roundTo | int, long, real, atau timespan | ✔️ | "Ukuran bin" yang membagi nilai. |
Mengembalikan
Kelipatan roundTo terdekat di bawah value. Nilai null, ukuran bin null, atau ukuran bin negatif akan menghasilkan null.
Contoh
Contoh berikut menunjukkan bin() fungsi dengan data numerik.
print bin(4.5, 1)
Hasil
| print_0 |
|---|
| 4 |
Contoh berikut menunjukkan bin() fungsi dengan data rentang waktu.
print bin(time(16d), 7d)
Hasil
| print_0 |
|---|
| 14:00:00:00 |
Contoh berikut menunjukkan bin() fungsi dengan data tanggalwaktu.
print bin(datetime(1970-05-11 13:45:07), 1d)
Hasil
| print_0 |
|---|
| 1970-05-11T00:00:00Z |
Ketika ada baris untuk bin tanpa baris yang sesuai dalam tabel, sebaiknya pad tabel dengan bin tersebut. Kueri berikut melihat peristiwa badai angin kencang di California selama seminggu pada bulan April. Namun, tidak ada peristiwa pada beberapa hari.
let Start = datetime('2007-04-07');
let End = Start + 7d;
StormEvents
| where StartTime between (Start .. End)
| where State == "CALIFORNIA" and EventType == "Strong Wind"
| summarize PropertyDamage=sum(DamageProperty) by bin(StartTime, 1d)
Hasil
| Waktu Mulai | KerusakanProperti |
|---|---|
| 2007-04-08T00:00:00Z | 3000 |
| 2007-04-11T00:00:00Z | 1000 |
| 2007-04-12T00:00:00Z | 105000 |
Untuk mewakili minggu penuh, kueri berikut mengalihkan tabel hasil dengan nilai null untuk hari yang hilang. Berikut adalah penjelasan langkah demi langkah tentang prosesnya:
-
unionGunakan operator untuk menambahkan lebih banyak baris ke tabel. - Operator
rangemenghasilkan tabel yang memiliki satu baris dan kolom. - Operator
mv-expanddirangeatas fungsi membuat baris sebanyak ada bin antaraStartTimedanEndTime. - Gunakan
PropertyDamagedari0. - Operator
summarizemengelompokkan bin dari tabel asli ke tabel yang dihasilkan olehunionekspresi. Proses ini memastikan bahwa output memiliki satu baris per bin yang nilainya nol atau jumlah asli.
let Start = datetime('2007-04-07');
let End = Start + 7d;
StormEvents
| where StartTime between (Start .. End)
| where State == "CALIFORNIA" and EventType == "Strong Wind"
| union (
range x from 1 to 1 step 1
| mv-expand StartTime=range(Start, End, 1d) to typeof(datetime)
| extend PropertyDamage=0
)
| summarize PropertyDamage=sum(DamageProperty) by bin(StartTime, 1d)
Hasil
| Waktu Mulai | KerusakanProperti |
|---|---|
| 2007-04-07T00:00:00Z | 0 |
| 2007-04-08T00:00:00Z | 3000 |
| 2007-04-09T00:00:00Z | 0 |
| 2007-04-10T00:00:00Z | 0 |
| 2007-04-11T00:00:00Z | 1000 |
| 2007-04-12T00:00:00Z | 105000 |
| 2007-04-13T00:00:00Z | 0 |
| 2007-04-14T00:00:00Z | 0 |