Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Zaokrouhlí hodnoty dolů na celé číslo násobku dané velikosti přihrádky.
Používá se často v kombinaci s summarize by ....
Pokud máte bodovou sadu hodnot, seskupí se do menší sady konkrétních hodnot.
Funkce
bin()afloor()funkce jsou ekvivalentní.
Syntaxe
bin(
hodnota,roundTo)
Přečtěte si další informace o konvencích syntaxe.
Parametry
| Název | Typ | Požadováno | Popis |
|---|---|---|---|
| hodnota | int, long, real, timespan nebo datetime | ✔️ | Hodnota, která se má zaokrouhlit dolů. |
| roundTo | int, long, real, or timespan | ✔️ | Velikost přihrádky, která rozdělí hodnotu. |
Návraty
Nejbližší násobek roundTo pod hodnotou. Hodnoty null, velikost přihrádky null nebo záporná velikost přihrádky budou mít za následek hodnotu null.
Příklady
Následující příklad ukazuje bin() funkci s číselnými daty.
print bin(4.5, 1)
Výstup
| print_0 |
|---|
| 4 |
Následující příklad ukazuje funkci s daty časového rozsahu bin() .
print bin(time(16d), 7d)
Výstup
| print_0 |
|---|
| 14:00:00:00 |
Následující příklad ukazuje bin() funkci s daty datetime.
print bin(datetime(1970-05-11 13:45:07), 1d)
Výstup
| print_0 |
|---|
| 1970-05-11T00:00:00Z |
Pokud jsou řádky pro intervaly bez odpovídajícího řádku v tabulce, doporučujeme vložit tabulku s těmito intervaly. Následující dotaz sleduje události silné bouře větru v Kalifornii týden v dubnu. V některých dnech však nejsou žádné události.
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)
Výstup
| Počáteční čas | PropertyDamage |
|---|---|
| 2007-04-08T00:00:00Z | 3000 |
| 2007-04-11T00:00:00Z | 1 000 |
| 2007-04-12T00:00:00Z | 105000 |
Aby bylo možné reprezentovat celý týden, následující dotaz vloží výslednou tabulku s hodnotami null pro chybějící dny. Tady je podrobné vysvětlení tohoto procesu:
- Pomocí operátoru
unionmůžete do tabulky přidat další řádky. - Operátor
rangevytvoří tabulku, která má jeden řádek a sloupec. - Operátor
mv-expandnadrangefunkcí vytvoří tolik řádků, kolik jsou intervaly meziStartTimeaEndTime. -
PropertyDamagePoužití funkce0. - Operátor
summarizeseskupí intervaly z původní tabulky do tabulky vytvořené výrazemunion. Tento proces zajistí, že výstup má jeden řádek na interval, jehož hodnota je nula nebo původní počet.
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)
Výstup
| Počáteční čas | PropertyDamage |
|---|---|
| 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 | 1 000 |
| 2007-04-12T00:00:00Z | 105000 |
| 2007-04-13T00:00:00Z | 0 |
| 2007-04-14T00:00:00Z | 0 |