SSRS + CRM 中的开关表达式:参数 'VarExpr' 不是有效值”
Switch expression in SSRS + CRM : Argument 'VarExpr' is not a valid value"
我正在使用具有 Microsoft Dynamics 365 Fetch where my FetchXML contains the attribute having Option Set 数据类型的 SSRS - 其中选项设置值如下所示:
Value =====> Label
1 =====> "State 1"
2 =====> "State 2"
3 =====> "State 3"
我在这里要做的是获取 Value
属性的标签。
当我尝试添加表达式来转换它时,它们都会抛出相同的错误:
Switch expression
=Switch(
Fields!State.Value = 1, "State 1",
Fields!State.Value = 2, "State 2",
Fields!State.Value = 3, "State 3",
Space(1)
)
IIf Expression
=IIf(Fields!State.Value = 1, "State 1",
IIf(Fields!State.Value = 2, "State 2",
IIf(Fields!State.Value = 3, "State 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 不起作用。
我正在使用具有 Microsoft Dynamics 365 Fetch where my FetchXML contains the attribute having Option Set 数据类型的 SSRS - 其中选项设置值如下所示:
Value =====> Label
1 =====> "State 1"
2 =====> "State 2"
3 =====> "State 3"
我在这里要做的是获取 Value
属性的标签。
当我尝试添加表达式来转换它时,它们都会抛出相同的错误:
Switch expression
=Switch(
Fields!State.Value = 1, "State 1",
Fields!State.Value = 2, "State 2",
Fields!State.Value = 3, "State 3",
Space(1)
)
IIf Expression
=IIf(Fields!State.Value = 1, "State 1",
IIf(Fields!State.Value = 2, "State 2",
IIf(Fields!State.Value = 3, "State 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 不起作用。