Cette expression toujours imprimer #Erreur sur mon rapportcette expression toujours imprimer #Erreur
=IIF(ISNOTHING(Fields!f2.Value)," ", Fields!f2.Value* Fields!If3.Value)
Cette expression toujours imprimer #Erreur sur mon rapportcette expression toujours imprimer #Erreur
=IIF(ISNOTHING(Fields!f2.Value)," ", Fields!f2.Value* Fields!If3.Value)
Les paramètres à IIF sont toujours évalués indépendamment de la valeur du test. Brisons l'expression pour voir ce qui se passe.
P1 = ISNOTHING(Fields!f2.Value) // this gets evaluated and "True" is the value
P2 = Fields!f2.Value * Fields!If3.Value // this gets evaluated and throws an #Error
Result = IIF(P1," ",P2) // this never gets evaluated because an error is already thrown
essayer ceci:
=IIF(ISNOTHING(Fields!f2.Value)," ", IIF(ISNOTHING(Fields!f2.Value),0, Fields!f2.Value) * Fields!If3.Value)
Dans ce scénario, lorsque f2 est nulle, voici ce qui se passe:
P1 = ISNOTHING(Fields!f2.Value) // this gets evaluated and "True" is the value
P2 = IIF(P1,0, Fields!f2.Value) // this gets evaluated and 0 is the value
P3 = P2 * Fields!If3.Value // this gets evaluated and 0 is the value
Result = IIF(P1, " ", P3) // this gets evaluated and " " is the result
Est-ce que 'SWITCH' se comporte également de la même manière? Est-ce que toutes les clauses de 'SWITCH' sont également évaluées? – SouravA
Cela fonctionne ainsi pour IIF() car il s'agit d'un appel de fonction. Tout comme n'importe quel autre appel de fonction, les paramètres sont évalués et transmis à la fonction. SWITCH() dans SSRS est aussi un appel de fonction, donc oui. Tous les paramètres seront évalués à chaque fois. –
Je suppose que vous essayez de multiplier les données non numériques. Quels sont les types de données de f2 et f3? – AlexCuse
Cette question est pour la réponse de [Report Viewer Expression] (http://stackoverflow.com/questions/3087082/report-viewer-expression) – gbn