bin_at()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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 datetime
timespan
, 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 |