SSRS如何在订阅中查看多值参数

奥佩帕萨

我尝试从查询中获取值或指定值,一旦参数为多值,我在尝试进行订阅时就看不到数据。
我的要求看起来像:

select id from employee where canal in(@canal)

在此处输入图片说明

我应该怎么做,我完全陷入了困境,
当我进行研究时,我看到了数据驱动的订阅,但是我显然无法访问它,不知道这是否对您有帮助

史蒂文·怀特

首先,对不起,这不是一个令人满意的答案。内置功能遇到了限制。幸运的是,有解决方法。

问题是您只能将1值传递给数据驱动的订阅。因此,您已使用逗号分隔的列表并获取了查询/报告以解析出这些值。

  1. 如果您具有或可以Split在数据库中创建一个函数,那是一个不错的选择。这将是一个表值的用户定义函数,并且已经有一些容易找到的示例。同样,对于其他用例而言,此功能通常也很好。这样,您的SQL将显示为:

    斯普利特的运河(@canal)

  2. SSRS在SQL Server上确实可以很好地工作,但是当您使用ODBC连接时,参数支持受到限制。在这些情况下,您可以使用相同的多值参数解决方法。

    • 在“数据集属性”>“参数”选项卡中,使用像这样的表达式将值组合成一个逗号分隔的单个字符串,并用逗号包围。

    =“,” + Join(Parameters!canal.Value,“,”)+“,”

    • SQL看起来像这样:

    其中@就像'%,'+运河+',%'

基本上,这将逐行搜索字符串中包含的值。

在任何一种情况下,数据驱动订阅设置中的查询都需要返回以逗号分隔的字符串。然后,您可以在报告参数值字段中选择该列。希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章