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

Filed expression with in operator in SSRS

我有一个 SSRS 报告,我需要在其中显示一个名为 Region

的新表达式

如果 CountryName = Dubai,Kuwait,Iran,Iraq 那么我需要将地区显示为 'MiddleEast' 如果 CountryName= Nigeria,Egypt,Ethiopia 那么我需要将 Region 显示为 'Africa' 如果 CountryName= India,Pakistan,Srilanka 那么 Region 为 'Asia'

请帮助如何创建计算字段

在 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 进行比较,如果它更大,returns 区域。

1 = 1 就像任何不匹配的 ELSE。

最好在数据集中创建一个计算字段,而不是将其放在表达式中。