round() et vous…
une petite astuce en passant qui évite des erreurs tant piège est facile
Sous QlikView pour arrondir une valeur on peut utiliser la fonction “round”, mais attention à la manière de l’utiliser !!!
La logique habituelle de cette fonction consiste à passer un premier paramètre correspondant à la valeur à arrondir et un second au nombre de décimales auxquelles on souhaite faire l’arrondi.
Par exemple : habituellement round(7.5287, 2) renvoie 7.53
sous QlikView la même formule renvoie 8 !! ??
On pourrait se dire que c’est un peu tordu, voire faux
Eh bien après un coup d’oeil à la documentation on se rend compte que les développeurs de QlikTech ont une fois de plus fait preuve d’ingéniosité et ont étendu considérablement les possibilités de la fonction d’arrondi traditionnelle.
En effet, dans QV le deuxième paramètre ne correspond pas à la précision mais à la base sur laquelle l’arrondi doit être fait
pour arrondir à l’entier sup ou inf
round( 2.4 ) renvoie 2
round( 2.6 ) renvoie 3
round( 2.5 ) renvoie 3
pour arrondir à 1 ou 2 décimales
round( 3.782 , 0.1 ) renvoie 3.8
round( 3.782 , 0.01 ) renvoie 3.78
pour arrondir au multiple de 5 inférieur ou supérieur
round( 3.88 , 5 ) renvoie 5
round( 6.88 , 5 ) renvoie 5
round( 7.51 , 5 ) renvoie 10
round( 11.33 , 5 ) renvoie 10
pour arrondir au prochain entier augmenté de 0.5
round( 1.1 , 1 , 0.5 ) renvoie 1.5
ci-dessous un extrait de la doc QlikView
- round( x [ , base [ , offset ]] )
Rounding of x upwards or downwards to the nearest multiple of
base with an offset of offset. The result is a number. If x is exactly in
the middle of an interval, it is rounded upwards.
No comments yet. Be the first.
Leave a reply