bin()
Membulatkan nilai ke kelipatan bilangan bulat 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(
value,
roundTo)
Pelajari selengkapnya tentang konvensi sintaksis.
Parameter
Nama | Jenis | Diperlukan | 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
Bin numerik
print bin(4.5, 1)
Output
print_0 |
---|
4 |
Bin rentang waktu
print bin(time(16d), 7d)
Output
print_0 |
---|
14:00:00:00 |
Bin tanggalwaktu
print bin(datetime(1970-05-11 13:45:07), 1d)
Output
print_0 |
---|
1970-05-11T00:00:00Z |
Pad tabel dengan bin null
Ketika ada baris untuk bin tanpa baris yang sesuai dalam tabel, kami sarankan untuk memasang 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)
Output
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 ini mengalihkan tabel hasil dengan nilai null untuk hari yang hilang. Berikut penjelasan langkah demi langkah tentang prosesnya:
union
Gunakan operator untuk menambahkan lebih banyak baris ke tabel.- Operator
range
menghasilkan tabel yang memiliki satu baris dan kolom. - Operator
mv-expand
dirange
atas fungsi membuat baris sebanyak bin antaraStartTime
danEndTime
. - Gunakan
PropertyDamage
dari0
. - Operator
summarize
mengelompokkan bin dari tabel asli ke tabel yang dihasilkan olehunion
ekspresi. 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)
Output
StartTime | 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 |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk