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

Próbuję wpisać wyrażenie do komórki w moim raporcie [plik rdlc], ale po prostu nie mogłem tego osiągnąć. Jeśli komórka jest równa 265, wtedy powinna wyświetlić się sobota lub jeśli jest równa 266, powinien pojawić się "poniedziałek". Czy ktoś może mi pomóc?Wyrażenia IF ELSE

+1

To wygląda jak SSRS, a nie ASP.NET. – jrummell

+0

Co aktualnie wyświetla się? –

+0

@ scott.korin, Właśnie otrzymałem wyjątek mówiąc Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Wystąpił nieoczekiwany błąd podczas kompilowania wyrażeń. Oryginalna wartość zwracana przez kompilator: "[BC40000]" RequestMinimum "jest przestarzała:" Deklaratywne zabezpieczenia na poziomie zespołu są przestarzałe i nie są już domyślnie egzekwowane przez CLR. Więcej informacji można znaleźć na stronie http://go.microsoft.com/fwlink/?LinkID=155570. '.'. –

Odpowiedz

12

Ostatni IIF w kodzie przykładowym ma podaną część true. Jednak część false nie jest określona.

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

LUB

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

+2

+1 do shahkalpesh's Przełącz instrukcję - lub alternatywnie wywołaj niestandardowy kod i użyj opcji wyboru. Te IIf-y są bolesne do napisania, nie wspominając o utrzymaniu, kiedy dokonasz zmiany w więcej niż kilku komórkach. – thomasswilliams

2

Wystarczy wypełnić zestaw dostępnych opcji przebiegu programu w wyrażeniach SSRS, z wartościami sekwencyjnych można również użyć Wybierz:

=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

Witamy w Stack Overflow! Chociaż ten kod może odpowiedzieć na pytanie, zapewnienie dodatkowego kontekstu dotyczącego tego, dlaczego i/lub jak ten kod odpowiada na pytanie, poprawia jego długoterminową wartość. – Ajean