C'est ma déclaration:Pourquoi mon instruction iif n'évalue-t-elle pas vrai lorsque la condition est correcte?
iif(sum(Fields!myfield1.Value) = 0, 0, sum(Fields!myField2.Value)/sum(Fields!myField1.Value))
Toutes les suggestions?
C'est ma déclaration:Pourquoi mon instruction iif n'évalue-t-elle pas vrai lorsque la condition est correcte?
iif(sum(Fields!myfield1.Value) = 0, 0, sum(Fields!myField2.Value)/sum(Fields!myField1.Value))
Toutes les suggestions?
Probablement est en évaluant comme True. Comme mentionné dans d'autres commentaires, vous obtiendrez une erreur de toute façon car Iif() évalue toutes les expressions de paramètre 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 zéro et aucune erreur n'est levée.
(Vous devriez probablement montrer « N/A » ou tout simplement une chaîne vide lorsque le diviseur est égal à zéro, cependant.)
où vous mettez cette déclaration IIF? –
@Raj Plus: Probablement un champ de texte SSRS ou une cellule de tableau. SSRS utilise VBA comme langage de programmation. –
@OMB Poneys: Excuses pour l'imprécision. Je voulais savoir si cela était utilisé dans une ligne Sous-Total ou dans une ligne Détail. –