2016-04-11 18 views
0

Ich bekomme einen Fehler von der folgenden Ausdruck im SSRS-Bericht. Wenn der Status aktiv ist und month_nbr und year_nbr größer als der letzte Tag von status_DT ist, wird count_value angezeigt, das vom Typ int ist. Kannst du mir helfen, es zu reparieren? Vielen Dank!Mehrere iif und Bedingung in SSRS-Ausdruck

=IIf((fields!status.value="Active") and 
(cdate("01"+Fields!month_nbr.Value+Fields!year_nbr.Value)> 
DateAdd("d",-1,(DateAdd("m", 1, DateSerial(Year(fields!Status_DT.value), 
Month(fields!Status_DT.value), 1))))),Fields!Notes_Count.Value,"9999") 

Antwort

0

Versuchen Sie ersetzen:

cdate("01"+Fields!month_nbr.Value+Fields!year_nbr.Value) 

von:

CDATE(CStr(Fields!year_nbr.Value)+"-"+CStr(Fields!month_nbr.Value)+"-01") 

Lassen Sie mich wissen, ob es funktioniert.

+0

Es funktioniert. Wissen Sie, ob "9999" zu "N/A" ersetzt werden soll, wie kann ich den Ausdruck ändern? Der Fields! Notes_Count.Value ist ein Integertyp. Ich danke dir sehr! – Ice

+0

@Cindy, Wenn meine Antwort Ihr erstes Problem gelöst hat, können Sie es als richtige Antwort auswählen, um Ihr Problem zu lösen. Überprüfen Sie [diese] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). Um "9999" zu "N/A" zu ersetzen, ändern Sie einfach diesen letzten Teil von diesem 'Fields! Notes_Count.Value," 9999 "' zu diesem 'Fields! Notes_Count.Value," N/A "'. –