Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSRS如何查看订阅中的多值参数_Sql Server_Reporting Services - Fatal编程技术网

Sql server SSRS如何查看订阅中的多值参数

Sql server SSRS如何查看订阅中的多值参数,sql-server,reporting-services,Sql Server,Reporting Services,我试图从查询中获取值或指定值,当参数为多值时,我无法在尝试订阅时看到数据。 我的请求如下: select id from employee where canal in(@canal) 我该怎么办,我完全卡住了, 当我做研究时,我看到了数据驱动订阅,但我没有访问它的权限。显然,我不知道这是否有帮助。首先,我要说对不起,这不是一个令人愉快的回答。您已经遇到了内置功能的限制。谢天谢地,还有一些变通办法 问题是您只能向数据驱动订阅传递1个值。因此,您必须使用逗号分隔的列表,并获取查询/报告来解析这

我试图从查询中获取值或指定值,当参数为多值时,我无法在尝试订阅时看到数据。
我的请求如下:

select id from employee where canal in(@canal)

我该怎么办,我完全卡住了,

当我做研究时,我看到了数据驱动订阅,但我没有访问它的权限。显然,我不知道这是否有帮助。首先,我要说对不起,这不是一个令人愉快的回答。您已经遇到了内置功能的限制。谢天谢地,还有一些变通办法

问题是您只能向数据驱动订阅传递1个值。因此,您必须使用逗号分隔的列表,并获取查询/报告来解析这些值

  • 如果您在数据库中有或可以创建一个
    Split
    函数,那么这是一个很好的选择。这将是一个表值用户定义函数,并且已经有一些容易找到的示例。另外,对于其他用例,这个函数通常是很好的。这样,您的SQL将读取:

    其中运河处于分裂状态(@canal)

  • SSRS在SQL Server上运行得非常好,但是当您使用ODBC连接时,参数支持是有限的。在这些情况下,您可以使用相同的多值参数解决方法

    • 在“数据集属性”>“参数”选项卡中,使用类似这样的表达式将值组合成一个逗号分隔的字符串,该字符串由逗号包围
    =“,”+连接(参数!canal.Value,”,”+“,”

    • SQL将如下所示:
    其中@like“%”、“+canal+”、“%”

  • 基本上,它逐行搜索字符串中包含的值


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

    首先我要说对不起,这不是一个令人愉快的回答。您已经遇到了内置功能的限制。谢天谢地,还有一些变通办法

    问题是您只能向数据驱动订阅传递1个值。因此,您必须使用逗号分隔的列表,并获取查询/报告来解析这些值

  • 如果您在数据库中有或可以创建一个
    Split
    函数,那么这是一个很好的选择。这将是一个表值用户定义函数,并且已经有一些容易找到的示例。另外,对于其他用例,这个函数通常是很好的。这样,您的SQL将读取:

    其中运河处于分裂状态(@canal)

  • SSRS在SQL Server上运行得非常好,但是当您使用ODBC连接时,参数支持是有限的。在这些情况下,您可以使用相同的多值参数解决方法

    • 在“数据集属性”>“参数”选项卡中,使用类似这样的表达式将值组合成一个逗号分隔的字符串,该字符串由逗号包围
    =“,”+连接(参数!canal.Value,”,”+“,”

    • SQL将如下所示:
    其中@like“%”、“+canal+”、“%”

  • 基本上,它逐行搜索字符串中包含的值


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

    我的答案帮你解决了吗?我的答案帮你解决了吗?谢谢史蒂文,我会尽快尝试。谢谢史蒂文,我会尽快尝试。