Partager via


bin_at()

Arrondit les valeurs à un bac de taille fixe, avec un contrôle sur le point de départ du bac.

Syntax

bin_at(Valeur,, bin_sizefixed_point)

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Obligatoire Description
value int, long, real, timespan ou datetime ✔️ Valeur à arrondir.
bin_size int, long, real ou timespan ✔️ Taille de chaque bac.
fixed_point int, long, real, timespan ou datetime ✔️ Constante du même type que valeur indiquant une valeur de valeur, qui est un point fixe pour lequel bin_at(fixed_point, bin_size, fixed_point) == fixed_point.

Notes

Si la valeur est un intervalle de temps ou une datetime, le bin_size doit être un intervalle de temps.

Retours

Le multiple le plus proche de bin_sizevaleur inférieure, décalée de sorte que fixed_point soit traduit en lui-même.

Exemples

Expression Résultats Commentaires
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) Tous les bacs seront à midi
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) Tous les bacs seront le dimanche

Dans l’exemple suivant, notez que l’argument "fixed point" est retourné en tant que l’un des compartiments et que les autres compartiments y sont alignés en fonction de .bin_size Notez également que chaque bac datetime représente l’heure de début de ce bac :

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

Sortie

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