Compartilhar via


bin_at()

Retorna o valor arredondado para baixo para o tamanho do compartimento mais próximo, que é alinhado a um ponto de referência fixo.

Em contraste com a função bin(), onde o ponto de alinhamento é predefinido, bin_at() permite que você defina 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 lixeira.
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 é um timespan ou datetime, então o bin_size deve ser um timespan.

Devoluções

O múltiplo mais próximo de bin_size 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 é agrupado em compartimentos diários alinhados a um ponto fixo de 12 horas. O valor de retorno é -12, já que 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 lixeiras 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 lixeiras são semanais e alinhadas ao início do domingo, 6 de junho de 2017. O exemplo retorna uma lixeira alinhada 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