bin_at()

Arrotonda i valori fino a un contenitore a dimensione fissa, con controllo sul punto iniziale del contenitore.

Sintassi

bin_at(Valore,, bin_sizefixed_point)

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
value int, long, real, timespan o datetime ✔️ Il valore da arrotondare.
bin_size int, long, real o timespan ✔️ Dimensioni di ogni contenitore.
fixed_point int, long, real, timespan o datetime ✔️ Costante dello stesso tipo del valore che indica un valore di valore, ovvero un punto fisso per il quale bin_at(fixed_point, bin_size, fixed_point) == fixed_point.

Nota

Se value è un intervallo di tempo o un valore datetime, il bin_size deve essere un intervallo di tempo.

Restituisce

Il multiplo più vicino di bin_sizevalore inferiore, spostato in modo che fixed_point venga convertito in se stesso.

Esempi

Expression Risultato Commenti
bin_at(6.5, 2.5, 7) 4.5
bin_at(time(1h), 1d, 12h) -12h
bin_at(datetime(2017-05-15 10:20:00.0), 1d, datetime(1970-01-01 12:00:00.0)) datetime(2017-05-14 12:00:00.0) Tutti i bin saranno a mezzogiorno
bin_at(datetime(2017-05-17 10:20:00.0), 7d, datetime(2017-06-04 00:00:00.0)) datetime(2017-05-14 00:00:00.0) Tutti i contenitori saranno domenicali

Nell'esempio seguente si noti che l'arg "fixed point" viene restituito come uno dei contenitori e gli altri contenitori sono allineati a esso in base a bin_size. Si noti anche che ogni bin datetime rappresenta l'ora di inizio del bin:

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

Output

Data sum_Num
2018-02-23 15:14:00.0000000 4
2018-02-24 15:14:00.0000000 3
2018-02-26 15:14:00.0000000 5