Partage via


bin_at()

Retourne la valeur arrondie à la taille de bac la plus proche, alignée sur un point de référence fixe.

Contrairement à la fonction bin(), où le point d’alignement est prédéfini, bin_at() vous permet de définir un point fixe pour l’alignement. Les résultats peuvent être alignés avant ou après le point fixe.

Syntaxe

bin_at(valeur,bin_size fixed_point,)

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
value int, long, real, timespan oudatetime ✔️ Valeur à arrondir.
bin_size int, long, real, ou timespan ✔️ Taille de chaque bac.
fixed_point int, long, real, timespan oudatetime ✔️ Constante du même type que la valeur, utilisée comme point de référence fixe.

Remarque

Si la valeur est un timespan ou datetime, le bin_size doit être un timespan.

Retours

Multiple le plus proche de bin_size en dessous de la valeur donnée qui s’aligne sur la fixed_point spécifiée.

Exemples

Dans l’exemple suivant, la valeur est arrondie au bin_size le plus proche qui s’aligne sur le fixed_point.

print bin_at(6.5, 2.5, 7)

Sortie

print_0
4.5

Dans l’exemple suivant, l’intervalle de temps est compartimenté dans les bacs quotidiens alignés sur un point fixe de 12 heures. La valeur de retour est -12 car un bac quotidien aligné à 12 heures arrondit à 12 heures le jour précédent.

print bin_at(time(1h), 1d, 12h)

Sortie

print_0
-12:00:00

Dans l’exemple suivant, les bacs quotidiens s’alignent sur midi.

print bin_at(datetime(2017-05-15 10:20:00.0), 1d, datetime(1970-01-01 12:00:00.0))

Sortie

print_0
2017-05-14T12:00:00Z

Dans l’exemple suivant, les bacs sont hebdomadaires et s’alignent sur le début du dimanche 6 juin 2017. L’exemple retourne un bac aligné sur dimanches.

print bin_at(datetime(2017-05-17 10:20:00.0), 7d, datetime(2017-06-04 00:00:00.0))

Sortie

print_0
2017-05-14T00:00:00Z

Dans l’exemple suivant, le nombre total d’événements est regroupé en bacs quotidiens alignés sur la date et l’heure de fixed_point . La valeur fixed_point est incluse dans l’un des bacs retournés.

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

Sortie

Date TotalEvents
2018-02-23T15:14:00Z 8
2018-02-24T15:14:00Z 7
2018-02-26T15:14:00Z 5