在SSRS中使用in运算符的表达式

时间:2020-10-26 15:28:51

标签: reporting-services ssrs-2008 ssrs-2012

我有一个SSRS报告,需要显示一个名为Region的新表达式

如果CountryName =迪拜,科威特,伊朗,伊拉克,那么我需要将“地区”显示为“中东” 如果CountryName = Nigeria,Egypt,Ethiopia,那么我需要将Region显示为“ Africa” 如果CountryName =印度,巴基斯坦,斯里兰卡,则地区为“亚洲”

请帮助如何创建计算字段

1 个答案:

答案 0 :(得分:0)

在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")

这将检查每个InStr函数名称列表中的“国家/地区”字段-如果找到则返回字符位置,否则返回0。然后将其与0进行比较,如果大于0,则返回Region。

1 = 1等于任何不匹配的ELSE。

在数据集中创建一个Calculated字段可能比将其放入表达式中更好。