bin_at()

Arredonda os valores para uma classe de tamanho fixo, com controlo sobre o ponto de partida do contentor.

Syntax

bin_at(valor,, bin_sizefixed_point)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
value int, long, real, timespan ou datetime ✔️ O valor a arredondar.
bin_size int, long, real ou timespan ✔️ O tamanho de cada classe.
fixed_point int, long, real, timespan ou datetime ✔️ Uma constante do mesmo tipo que o valor que indica um valor de valor, que é um ponto fixo para o qual bin_at(fixed_point, bin_size, fixed_point) == fixed_point.

Nota

Se o valor for um período de tempo ou datetime, o bin_size tem de ser um intervalo de tempo.

Devoluções

O múltiplo mais próximo de bin_sizevalor abaixo, alterado para que fixed_point seja traduzido para si próprio.

Exemplos

Expression Resultado Comentários
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) Todos os contentores estarão ao meio-dia
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) Todos os caixotes serão aos domingos

No exemplo seguinte, repare que o "fixed point" arg é devolvido como uma das classes e as outras classes estão alinhadas com a mesma com base no bin_size. Tenha também em atenção que cada contentor datetime representa a hora de início desse contentor:

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

Saída

Date 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