Perché la mia dichiarazione IIF non valuta vera quando la condizione è corretta?
-
26-09-2019 - |
Domanda
Questa è la mia affermazione:
iif(sum(Fields!myfield1.Value) = 0, 0, sum(Fields!myField2.Value)/sum(Fields!myField1.Value))
Eventuali suggerimenti?
Soluzione
Probabilmente è valutare come vero. Come menzionato in altri commenti, otterrai comunque un errore perché IIF () valuta tutte le espressioni dei parametri indipendentemente dal risultato del test.
L'errore può essere evitato aggiungendo un altro IIF () nel divisore.
iif(
sum(Fields!myfield1.Value) = 0,
0,
sum(Fields!myField2.Value) / iif(
sum(Fields!myfield1.Value) = 0,
1,
sum(Fields!myField1.Value)
)
)
Ora otterrai zero se myfield1 è zero e non viene lanciato alcun errore.
(Probabilmente dovresti mostrare 'n/a' o solo una stringa vuota quando il divisore è zero.)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow