#sql-server #reporting-services
#sql-сервер #службы отчетов
Вопрос:
Я ИСПОЛЬЗУЮ ЭТО ВЫРАЖЕНИЕ В SSRS 1.
=iif(Parameters!SchemeConsolidateYn.Value="y",false,true)
2.
=IIF(Parameters!ConsolidatedYn.Value="y","Consolidated",First(Fields!BranchName.Value, "DataSet2"))
НО КОГДА я ДАЮ ВЫРАЖЕНИЕ «Y» (ЗАГЛАВНАЯ БУКВА Y), ПРИНИМАЮЩЕЕ ДРУГОЕ ЗНАЧЕНИЕ..
МОЙ ВОПРОС В ТОМ, КАК ИЗБЕЖАТЬ УЧЕТА РЕГИСТРА ЗДЕСЬ,,.. ПОЭТОМУ я МОГУ ИСПОЛЬЗОВАТЬ ОБА (Y ИЛИ y)
примечание: в обоих выражениях я сталкиваюсь с одной и той же проблемой (с учетом регистра)
Комментарии:
1. Пожалуйста, перестаньте КРИЧАТЬ!
2. разве вы не можете использовать что-то вроде LCase (string), которое вернет вам строку в нижнем регистре, а затем просто использует «y» для сравнения
3. Просто используйте
OR
.=IIF(Parameters!ConsolidatedYn.Value="y" OR Parameters!ConsolidatedYn.Value="Y","Consolidated",First(Fields!BranchName.Value, "DataSet2"))
Но я думаю, что @AnkUser будет работать лучше всего.4. Я бы преобразовал ваш параметр в ВЕРХНИЙ и сравнил его с заглавной буквой Y, например
=IIF(UPPER(Parameters!ConsolidatedYn.Value)="Y" ...
5. @wei_DBA Ваш комментарий действительно полезен. Спасибо