Pourquoi mon énoncé IIF n'est-il pas vraie lorsque la condition est correcte?
-
26-09-2019 - |
Question
Ceci est ma déclaration:
iif(sum(Fields!myfield1.Value) = 0, 0, sum(Fields!myField2.Value)/sum(Fields!myField1.Value))
Aucune suggestion?
La solution
Probablement est évaluer comme vrai. Comme mentionné dans d'autres commentaires, vous obtiendrez une erreur de toute façon car iif () évalue toutes les expressions de paramètres quel que soit le résultat du test.
L'erreur peut être évitée en ajoutant un autre iif () dans le diviseur.
iif(
sum(Fields!myfield1.Value) = 0,
0,
sum(Fields!myField2.Value) / iif(
sum(Fields!myfield1.Value) = 0,
1,
sum(Fields!myField1.Value)
)
)
Maintenant, vous obtiendrez zéro si MyField1 est nul et qu'aucune erreur n'est lancée.
(Vous devriez probablement afficher «n / a» ou simplement une chaîne vide lorsque le diviseur est nul, cependant.)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow