Accueil

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