Compartir a través de


bin_at()

Devuelve el valor redondeado hacia abajo hasta el tamaño de cubo más cercano, que se alinea con un punto de referencia fijo.

A diferencia de la función bin(), donde el punto de alineación está predefinido, bin_at() permite definir un punto fijo para la alineación. Los resultados pueden alinearse antes o después del punto fijo.

Sintaxis

bin_at(valor,bin_size fixed_point,)

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Description
value int, long, real, timespan o datetime ✔️ Valor que se redondea.
bin_size int, long, real o timespan ✔️ Tamaño de cada cubo.
fixed_point int, long, real, timespan o datetime ✔️ Constante del mismo tipo que el valor, que se usa como punto de referencia fijo.

Nota:

Si el valor es o datetimetimespan , el bin_size debe ser .timespan

Devoluciones

El múltiplo más cercano de bin_size debajo del valor especificado que se alinea con el fixed_point especificado.

Ejemplos

En el ejemplo siguiente, el valor se redondea hacia abajo hasta el bin_size más cercano que se alinea con el fixed_point.

print bin_at(6.5, 2.5, 7)

Salida

print_0
4.5

En el ejemplo siguiente, el intervalo de tiempo se divide en intervalos diarios alineados con un punto fijo de 12 horas. El valor devuelto es -12, ya que un contenedor diario alineado a 12 horas se redondea hasta 12 en el día anterior.

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

Salida

print_0
-12:00:00

En el ejemplo siguiente, los contenedores diarios se alinean con el mediodía.

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

Salida

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

En el ejemplo siguiente, los contenedores son semanales y se alinean con el inicio del domingo 6 de junio de 2017. En el ejemplo se devuelve un contenedor alineado a domingos.

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

Salida

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

En el ejemplo siguiente, el número total de eventos se agrupa en intervalos diarios alineados con la fecha y hora de fixed_point . El valor fixed_point se incluye en uno de los contenedores devueltos.

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)) 

Salida

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