2012-03-12 19 views
7
=IIf(Fields!TarifeTipiNo.Value = 265, "Saturday", IIf(Fields!TarifeTipiNo.Value = 266, "Monday", IIf(Fields!TarifeTipiNo.Value = 267, "Wednesday"))) 

Sto cercando di scrivere un'espressione in una cella nel mio rapporto [rdlc file] ma non sono riuscito a ottenere ciò. Se la cella è uguale a 265, il sabato dovrebbe essere visualizzato o se è uguale a 266, quindi "Lunedì" dovrebbe apparire. Qualcuno può darmi una mano per favore?Espressioni IF ELSE

+1

Sembra SSRS, non ASP.NET. – jrummell

+0

Cosa sta visualizzando attualmente? –

+0

@ scott.korin, ottengo solo un'eccezione dicendo Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: si è verificato un errore imprevisto durante la compilazione delle espressioni. Valore restituito del compilatore nativo: '[BC40000]' RequestMinimum 'è obsoleto:' La sicurezza dichiarativa a livello di assieme è obsoleta e non viene più applicata da CLR per impostazione predefinita. Vedere http://go.microsoft.com/fwlink/?LinkID=155570 per ulteriori informazioni. '.'. –

risposta

12

L'ultimo IIF nel codice di esempio ha la parte specificata true. Tuttavia, la parte false non è specificata.

=IIf(Fields!TarifeTipiNo.Value = 265, "Saturday", IIf(Fields!TarifeTipiNo.Value = 266, "Monday", IIf(Fields!TarifeTipiNo.Value = 267, "Wednesday", "????")))

O

=Switch(Fields!TarifeTipiNo.Value = 265, "Saturday", Fields!TarifeTipiNo.Value = 266, "Monday", Fields!TarifeTipiNo.Value = 267, "Wednesday")

+2

+1 a shahkalpesh's Cambia istruzione - o in alternativa chiama il codice personalizzato e usa una selezione. Quegli IIfs sono dolori da scrivere, per non parlare di mantenere quando si effettua un cambiamento in più di un paio di celle. – thomasswilliams

2

Giusto per completare il set di opzioni di flusso del programma disponibili nelle espressioni SSRS, con valori sequenziali è possibile utilizzare anche la scelta:

=Choose(Fields!TarifeTipiNo.Value-264, "Saturday", "Monday", "Wednesday") 
-2
=First(Fields!Shipping_Name.Value, "DataSetForOrderEntry")+environment.NewLine+iif((First(Fields!Shipping_Company.Value, "DataSetForOrderEntry")=""),"",First(Fields!Shipping_Company.Value, "DataSetForOrderEntry")+environment.NewLine)+First(Fields!Shipping_Address1.Value, "DataSetForOrderEntry")+environment.NewLine+First(Fields!Shipping_Address2.Value, "DataSetForOrderEntry")+environment.NewLine+First(Fields!Shipping_City.Value, "DataSetForOrderEntry")+","+First(Fields!Shipping_State.Value, "DataSetForOrderEntry")+" "+First(Fields!Shipping_Zip.Value, "DataSetForOrderEntry") 
+2

Benvenuto in Stack Overflow! Sebbene questo codice possa rispondere alla domanda, fornire un contesto aggiuntivo sul perché e/o su come questo codice risponde alla domanda migliora il suo valore a lungo termine. – Ajean