#reporting-services #ssrs-2008 #ssrs-2012
#службы отчетов #ssrs-2008 #ssrs-2012
Вопрос:
У меня есть отчет SSRS, в котором мне нужно показать новое выражение с именем Region
Если countryName = Дубай, Кувейт, Иран, Ирак, тогда мне нужно показать регион как «Ближневосточный», если countryName = Нигерия, Египет, Эфиопия, тогда мне нужно показать регион как «Африка», если countryName = Индия, Пакистан, Шри-Ланка, тогда регион как «Азия»
Пожалуйста, помогите, как создать отправленное вычисление
Ответ №1:
В SSRS нет простого способа сделать это. Я бы использовал оператор SWITCH вместо IIF для обработки нескольких возможностей.
Поскольку вы ищете несколько вариантов, я использую INSTR для поиска страны в списке для этого региона.
=SWITCH(InStr("Dubai,Kuwait,Iran,Iraq", Fields!COUNTRY.Value) > 0, "Middle East",
InStr("Nigeria,Egypt,Ethiopia", Fields!COUNTRY.Value) > 0, "Africa",
InStr("India,Pakistan,Srilanka", Fields!COUNTRY.Value) > 0, "Asia",
1 = 1, "Other")
Это проверит наличие поля country в списке имен для каждой функции InStr — возвращает позицию символа, если найдено, или 0, если нет. Затем он сравнивает это значение с 0 и, если оно больше, возвращает регион.
Значение 1 = 1 равно значению ELSE для любых, которые не совпадают.
Возможно, было бы лучше создать вычисляемое поле в наборе данных, а не помещать его в выражение.