问题描述
我将 SSRS 与 Microsoft Dynamics 365 Fetch 一起使用,其中我的 FetchXML 包含具有 Option Set 数据类型的属性 - 其中选项集值如下所示:
Value =====> Label
1 =====> "State 1"
2 =====> "State 2"
3 =====> "State 3"
当我尝试添加表达式以进行转换时,所有这些都会引发相同的错误:
切换表达式
=Switch(
Fields!State.Value = 1,"State 1",Fields!State.Value = 2,"State 2",Fields!State.Value = 3,"State 3",Space(1)
)
IIf 表达式
=IIf(Fields!State.Value = 1,IIf(Fields!State.Value = 2,IIf(Fields!State.Value = 3," "
)
)
)
我已经提到了一些答案,其中说这可能是数据类型问题 - 并尝试将 Fields!State.Value
转换为 Int
& String
但没有帮助。
解决方法
您的 SWITCH 语句似乎缺少最后一对值(表达式和值)的第一个参数。它不像 ELSE 那样工作,你需要提供一个表达式来评估。 SSRS 正在尝试将 Space(1) 计算为布尔表达式。
=Switch(
Fields!State.Value = 1,"State 1",Fields!State.Value = 2,"State 2",Fields!State.Value = 3,"State 3",True,Space(1)
)
不知道为什么 IIF 不起作用。