2016-07-22 21 views
0

Ich versuche, die Anzahl der Werte zu zählen, in denen die vorherige Comp ist größer als 0. Ich habe Beispiele auf StackOverflow gefunden, aber nichts gibt mir die Anzahl, die ich will.Verwenden von Count() und IIF in SSRS-Ausdruck

Ich habe den folgenden Ausdruck:

= IIF((Fields!Previous_Year_Comp.Value) > "0.00", 
     count(Fields!Previous_Year_Comp.Value),0) 

Dieser Ausdruck die Werte 0 zählt. Beachten Sie, dass dieser Ausdruck mehrere Änderungen erfahren hat. Was vermisse ich?

+0

Sie müssen 'Sum' und' IIf' kombinieren: http://stackoverflow.com/questions/18892911/reporting-services-count-column-values-if-equals-a –

+0

Danke Ian. Das hat funktioniert. – FoxyB

Antwort

0

Sie vergleichen eine Zeichenfolge mit einem ganzzahligen Wert. Versuchen Sie folgendes:

=IIF(Fields!Previous_Year_Comp.Value > 0, count(Fields!Previous_Year_Comp.Value),0) 

Natürlich, wenn Previous_Year_Comp ein VARCHAR Wert ist und nicht ein DECIMAL or INTEGER, können Sie so etwas wie dies benötigen:

=IIF(Fields!Previous_Year_Comp.Value <> "0.00", count(Fields!Previous_Year_Comp.Value),0) 
+0

Leider funktionierte keine Lösung. Prev_Year_Comp ist eine Dezimalzahl. – FoxyB

+0

@FoxyB vielleicht Ians Antwort wird funktionieren. SOrry – scsimon

+0

= count (IIF (IIF (Felder! Previous_Year_Comp.Value> 0, true, false), true, 0)) Ich habe das auch versucht. Kein bueno. – FoxyB

1

Ihre COUNT um Ihre IIF sein sollte.

=COUNT(IIF(Fields!Previous_Year_Comp.Value > "0.00", Fields!Previous_Year_Comp.Value, NOTHING) 

NOTHING ist SSRSs NULL, die nicht mit COUNT gezählt wird.