【问题标题】:Why does the SSRS throw #Error for displaying Multi Values为什么 SSRS 会抛出 #Error 以显示多值
【发布时间】:2021-02-18 15:49:22
【问题描述】:
我正在使用 split_string 分隔符来从 SSRS 报告中选择多个值。我可以在 SSRS 报告中选择多值,但 SSRS 显示了 #Error 应该是多值的位置。
图片供参考
这就是我对报告的表达方式
表达式中的count 和ismultivalue 工作正常
例如:
我在表达式中使用isMultiValue,它工作正常
但是 Label 和 value 抛出 #Error
【问题讨论】:
标签:
sql-server
stored-procedures
reporting-services
【解决方案1】:
在您的报告表达式中,您引用的是Parameter,而不是传递给您的数据集的值,因此在数据集中成功使用string_split 函数实际上与此处无关。
这是因为多值参数是对象而不是简单的标量值。当您对 Parameter 执行 count 时,您正在计算对象中的项目,这是一个有效的操作。
但是,Parameter 对象无法向您显示单个 Value 或 Label,因为它不知道 哪个 Value 或 Label 向您显示,即使Parameter 对象中只有一项。
您需要做的是使用从零开始的索引值来指定要显示的项目:
="Bkt: " & Parameters!BKT.Label(0)
或告诉 SSRS 将Parameter 对象中的所有项显示为列表:
="Bkt: " & join(Parameters!BKT.Label,", ")