bin()
Zaokrouhlí hodnoty dolů na celočíselný násobek 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()
jsou ekvivalentní.
Syntax
bin(
Hodnotu,
roundTo)
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
value | int, long, real, timespan nebo datetime | ✔️ | Hodnota, která se má zaokrouhlit dolů. |
roundTo | int, long, real, or timespan | ✔️ | "Velikost přihrádky", která rozděluje 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
Číselná přihrádka
print bin(4.5, 1)
Výstup
print_0 |
---|
4 |
Interval časového rozsahu
print bin(time(16d), 7d)
Výstup
print_0 |
---|
14:00:00:00 |
Interval data a času
print bin(datetime(1970-05-11 13:45:07), 1d)
Výstup
print_0 |
---|
1970-05-11T00:00:00Z |
Vložit tabulku do přihrádek s hodnotou null
Pokud existují řádky pro intervaly bez odpovídajícího řádku v tabulce, doporučujeme vložit tabulku těmito intervaly. Následující dotaz se podívá na silné bouře v Kalifornii za týden v dubnu. V některých dnech se ale nedochází k žádným událostem.
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
StartTime | PropertyDamage |
---|---|
2007-04-08T0:00:00Z | 3000 |
2007-04-11T00:00:00Z | 1000 |
2007-04-12T00:00:00Z | 105000 |
Aby bylo možné reprezentovat celý týden, následující dotaz podá tabulku výsledků s hodnotami null pro chybějící dny. Tady je podrobné vysvětlení tohoto procesu:
- Pomocí operátoru
union
přidejte do tabulky další řádky. - Operátor
range
vytvoří tabulku, která má jeden řádek a sloupec. - Operátor
mv-expand
nadrange
funkcí vytvoří tolik řádků, kolik je intervalů meziStartTime
aEndTime
. - Použijte z
PropertyDamage
.0
- Operátor seskupí
summarize
intervaly z původní tabulky do tabulky vytvořené výrazemunion
. Tento proces zajistí, že výstup bude v každé přihrádce jeden řádek, 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
StartTime | PropertyDamage |
---|---|
2007-04-07T00:00:00Z | 0 |
2007-04-08T0:00:00Z | 3000 |
2007-04-09T0: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 |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro