Sdílet prostřednictvím


bin_at()

Vrátí hodnotu zaokrouhlenou dolů na nejbližší velikost přihrádky, která je zarovnaná k pevné referenční bodě.

Na rozdíl od funkce bin(), kde je bod zarovnání předdefinovaný, bin_at() umožňuje definovat pevný bod pro zarovnání. Výsledky se můžou zarovnat před nebo za pevným bodem.

Syntaxe

bin_at(hodnota,bin_size fixed_point,)

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Description
value int, long, real, timespannebo datetime ✔️ Hodnota, která se má zaokrouhlit.
bin_size int, long, realnebo timespan ✔️ Velikost každého intervalu.
fixed_point int, long, real, timespannebo datetime ✔️ Konstanta stejného typu jako hodnota, která se používá jako pevný referenční bod.

Poznámka:

Pokud je hodnota nebo timespandatetime, pak bin_size musí být .timespan

Návraty

Nejbližší násobek bin_size pod danou hodnotou , která odpovídá zadané fixed_point.

Příklady

V následujícím příkladu se hodnota zaokrouhlí dolů na nejbližší bin_size , která odpovídá fixed_point.

print bin_at(6.5, 2.5, 7)

Výstup

print_0
4.5

V následujícím příkladu je časový interval rozdělen do denních intervalů zarovnaný k 12hodinovému pevnému bodu. Vrácená hodnota je -12, protože denní interval zarovnaný na 12 hodin se zaokrouhlí na 12 hodin v předchozím dni.

print bin_at(time(1h), 1d, 12h)

Výstup

print_0
-12:00:00

V následujícím příkladu jsou denní intervaly v souladu s polednem.

print bin_at(datetime(2017-05-15 10:20:00.0), 1d, datetime(1970-01-01 12:00:00.0))

Výstup

print_0
2017-05-14T12:00:00Z

V následujícím příkladu jsou intervaly týdenní a odpovídají začátku neděle 6. června 2017. Příklad vrátí interval zarovnaný s nedělemi.

print bin_at(datetime(2017-05-17 10:20:00.0), 7d, datetime(2017-06-04 00:00:00.0))

Výstup

print_0
2017-05-14T00:00:00Z

V následujícím příkladu se celkový počet událostí seskupí do denních intervalů, které odpovídají fixed_point datu a času. Hodnota fixed_point je zahrnuta do jednoho z vrácených intervalů.

datatable(Date:datetime, NumOfEvents:int)[
datetime(2018-02-24T15:14),3,
datetime(2018-02-24T15:24),4,
datetime(2018-02-23T16:14),4,
datetime(2018-02-23T17:29),4,
datetime(2018-02-26T15:14),5]
| summarize TotalEvents=sum(NumOfEvents) by bin_at(Date, 1d, datetime(2018-02-24 15:14:00.0000000)) 

Výstup

Datum TotalEvents
2018-02-23T15:14:00Z 8
2018-02-24T15:14:00Z 7
2018-02-26T15:14:00Z 5