2012-03-26 1 views
1

Nur frage mich, ob die folgenden Ausdrücke für Value verwendet werden, sind äquivalent (in der Spalte "Contrib" in DataSet "MyDataSet" NULL-Werte zugelassen):SSRS Bericht (rdlc) Wertausdruck und null Überprüfung

Option 1:

Option:

=IIF(First(Fields!Contrib.Value, "MyDataSet") Is Nothing, "", Format(First(Fields!Contrib.Value, "MyDataSet"), "C2")) 

dh hat SSRS spezielle Verarbeitung, so dass in Option 1, intern für einen Nullwert überprüft und effektiv endet etwas zu tun, ähnlich wie Option 2. Aus Versuch und Irrtum scheinen sie die gleichen Ergebnisse zu liefern (wenn "Contrib" null/nicht null ist), wollten aber nur sicher sein.

Antwort

2

In meinem Fall gibt Reporting Services standardmäßig einen leeren Wert aus, wenn der Wert Null ist.

Da Sie IIF verwenden, um Ergebnisse zu ändern, denke ich, dass Ihr Problem mit einem Problem vergleichbar ist, das ich bei der Vermeidung von Divisionsfehlern auf berechneten Spalten habe.

Das IIF wertet alle Operanden aus, so dass ein Fehler auftritt, auch wenn die Division durch "0" im "falschen" Teil auftritt. Ich erfasse eine Division durch Null, indem ich "-" im Bericht zeige, und verwende eine verschachtelte IIF, um den Divisor durch den Wert 1 zu ersetzen, aber dieses Ergebnis wird im Bericht nie angezeigt.

+0

Danke, ich hatte ein Problem mit ** negativen Zahlen **, ich löste es mit 'Math.Abs ​​((Summe (Felder! Amount.Value))' ' – stom