Отправленное выражение с помощью оператора in в SSRS

#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 для любых, которые не совпадают.

Возможно, было бы лучше создать вычисляемое поле в наборе данных, а не помещать его в выражение.