SSRS + CRM 中的开关表达式:参数“VarExpr”不是有效值”

问题描述

我将 SSRS 与 Microsoft Dynamics 365 Fetch 一起使用,其中我的 FetchXML 包含具有 Option Set 数据类型的属性 - 其中选项集值如下所示:

   Value =====> Label
   1     =====> "State 1"
   2     =====> "State 2"
   3     =====> "State 3"

在这里要做的是获取 Value 属性标签

当我尝试添加表达式以进行转换时,所有这些都会引发相同的错误

切换表达式

=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 不起作用。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...