bin_at()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Retorna o valor arredondado para baixo para o tamanho de compartimento mais próximo, que está alinhado a um ponto de referência fixo.
Em contraste com a função bin(), onde o ponto de alinhamento é predefinido, bin_at() permite definir um ponto fixo para alinhamento. Os resultados podem ser alinhados antes ou depois do ponto fixo.
Sintaxe
bin_at
(
valor,
bin_size fixed_point,
)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Description |
---|---|---|---|
value | int , long , real , timespan ou datetime |
✔️ | O valor a ser arredondado. |
bin_size | int , long , real ou timespan |
✔️ | O tamanho de cada caixa. |
fixed_point | int , long , real , timespan ou datetime |
✔️ | Uma constante do mesmo tipo que value, que é usada como um ponto de referência fixo. |
Observação
Se o valor for a timespan
ou datetime
, então o bin_size deve ser um timespan
.
Devoluções
O múltiplo de bin_size mais próximo abaixo do valor fornecido que se alinha ao fixed_point especificado.
Exemplos
No exemplo a seguir, o valor é arredondado para baixo para o bin_size mais próximo que se alinha ao fixed_point.
print bin_at(6.5, 2.5, 7)
Saída
print_0 |
---|
4.5 |
No exemplo a seguir, o intervalo de tempo é compartimentalizado em compartimentos diários alinhados a um ponto fixo de 12 horas. O valor de retorno é -12, pois um compartimento diário alinhado a 12 horas arredonda para 12 no dia anterior.
print bin_at(time(1h), 1d, 12h)
Saída
print_0 |
---|
-12:00:00 |
No exemplo a seguir, as caixas diárias se alinham ao meio-dia.
print bin_at(datetime(2017-05-15 10:20:00.0), 1d, datetime(1970-01-01 12:00:00.0))
Saída
print_0 |
---|
2017-05-14T12:00:00Z |
No exemplo a seguir, as caixas são semanais e se alinham ao início do domingo, 6 de junho de 2017. O exemplo retorna um compartimento alinhado aos domingos.
print bin_at(datetime(2017-05-17 10:20:00.0), 7d, datetime(2017-06-04 00:00:00.0))
Saída
print_0 |
---|
2017-05-14T00:00:00Z |
No exemplo a seguir, o número total de eventos é agrupado em compartimentos diários alinhados à data e hora fixed_point . O valor fixed_point é incluído em um dos compartimentos retornados.
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))
Saída
Data | TotalEvents |
---|---|
2018-02-23T15:14:00Z | 8 |
2018-02-24T15:14:00Z | 7 |
2018-02-26T15:14:00Z | 5 |