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

Я пытаюсь написать выражение в ячейке в моем отчете [rdlc файл], но я просто не мог этого достичь. Если ячейка равна 265, то суббота должна отобразиться или если она равна 266, тогда появится «понедельник». Может кто-нибудь помочь мне с этим, пожалуйста?Выражения IF ELSE

+1

Это выглядит как SSRS, а не ASP.NET. – jrummell

+0

Что отображается в настоящее время? –

+0

@ scott.korin, я просто получаю исключение, говорящее о Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: При компиляции выражений произошла непредвиденная ошибка. Родное значение возвращаемого компилятора: «[BC40000]« RequestMinimum »устарел:« Декларативная безопасность уровня сборки устарела и больше не применяется CLR по умолчанию. Дополнительную информацию см. На странице http://go.microsoft.com/fwlink/?LinkID=155570. '.'. –

ответ

12

Последние IIF в примере кода имеет true указанная часть. Однако часть false не указана.

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

ИЛИ

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

+2

+1 to shahkalpesh's Оператор switch - или, альтернативно, вызывать собственный код и использовать select. Эти IIfs - это боли, которые нужно написать, не говоря уже о том, чтобы поддерживать, когда вы делаете изменения более чем в нескольких ячейках. – thomasswilliams

2

Просто, чтобы завершить набор доступных вариантов потока программы в SSRS выражениях, с последовательными значениями вы можете также использовать выбор:

=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

Добро пожаловать в переполнение стека! Хотя этот код может ответить на вопрос, предоставляя дополнительный контекст относительно того, почему и/или как этот код отвечает на вопрос, улучшает его долгосрочную ценность. – Ajean