bin_at()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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 |
---|---|---|---|
valeur | 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 |