在 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。
最好在数据集中创建一个计算字段,而不是将其放在表达式中。
我有一个 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。
最好在数据集中创建一个计算字段,而不是将其放在表达式中。