bin()

Değerleri, belirli bir bölme boyutunun tamsayı katına yuvarlar.

ile summarize by ...birlikte sık kullanılır. Dağıtılmış bir değer kümeniz varsa, bunlar daha küçük bir belirli değer kümesi halinde gruplandırılır.

bin() ve floor() işlevleri eşdeğerdir

Syntax

bin(Değer,roundTo)

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Gerekli Açıklama
değer int, long, real, timespan veya datetime ✔️ Aşağı yuvarlanacak değer.
roundTo int, long, real veya timespan ✔️ Değeri bölen "bölme boyutu".

Döndürülenler

Değerin altındaki roundTo öğesinin en yakın katı. Null değerler, null bölme boyutu veya negatif bölme boyutu null olarak sonuçlanır.

Örnekler

Sayısal bölme

print bin(4.5, 1)

Çıkış

print_0
4

Zaman aralığı bölmesi

print bin(time(16d), 7d)

Çıkış

print_0
14:00:00:00

Tarih saat bölmesi

print bin(datetime(1970-05-11 13:45:07), 1d)

Çıkış

print_0
1970-05-11T00:00:00Z

Tabloyu null bölmelerle doldurma

Tabloda karşılık gelen satırı olmayan bölmeler için satırlar olduğunda, tabloyu bu bölmelerle doldurmanızı öneririz. Aşağıdaki sorgu, Nisan ayında bir hafta boyunca California'daki güçlü rüzgar fırtınası olaylarını arar. Ancak, bazı günlerde hiçbir olay yoktur.

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)

Çıkış

StartTime ÖzellikTarihi
2007-04-08T00:00:00Z 3000
2007-04-11T00:00:00Z 1000
2007-04-12T00:00:00Z 105000

Tam haftayı temsil etmek için aşağıdaki sorgu, eksik günler için sonuç tablosunu null değerlerle doldurur. İşlemin adım adım açıklaması aşağıdadır:

  1. tabloya union daha fazla satır eklemek için işlecini kullanın.
  2. işleci, range tek bir satır ve sütuna sahip bir tablo oluşturur.
  3. mv-expand işlevinin range üzerindeki işleç, ile EndTimearasında StartTime bölmeler olduğu kadar çok satır oluşturur.
  4. bir PropertyDamage kullanın 0.
  5. işleci, summarize özgün tablodaki bölmeleri ifade tarafından üretilen tabloya gruplandırıyor union . Bu işlem, çıkışın değeri sıfır veya özgün sayı olan bölme başına bir satır olmasını sağlar.
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)

Çıkış

StartTime ÖzellikTarihi
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