在SSRS中的数据驱动订阅中传递多值参数

时间:2013-02-19 06:58:40

标签: ssrs-2008 reporting-services

我需要安排在SSRS中通过电子邮件发送报告。 我选择了数据驱动订阅,因为需要将报告发送到通讯组列表。

我有2个参数,Store和DateTime。 Store是一个多值参数,用户必须选择Datetime。 但是当我尝试运行数据驱动的订阅时,它会提示错误!

我经历了一些帖子,说明DDS不接受多值参数!

有工作吗? 任何人都可以详细说明如何做到这一点吗?

谢谢, Iswarya

3 个答案:

答案 0 :(得分:0)

可能您可以尝试使用分隔方式发送参数,并在传入sql后将多个参数拆分出来。

我已经完成了几次,而且很难将这些分开。不可否认,我使用的是Oracle。

答案 1 :(得分:0)

传递给SSRS多字符串参数的值必须位于可用值列表中。如果在运行时检索报表参数值,但是用于检索可用值的查询不返回任何数据(null),则也可能发生错误。

希望这有帮助并祝你好运!

答案 2 :(得分:0)

我有同样的问题并通过使用listagg()函数在DDS查询中创建逗号分隔的值列表来解决它。例如,

SELECT email_address      ,listagg(transaction_id,',')WITHIN GROUP(ORDER BY transaction_id)AS trans_ids   来自my_table

结果将是可以传递给报告的单值字符串(即'001,002,003')。在报表查询中,我使用instr()来解析字符串:

SELECT .....  WHERE instr(:Transaction_ID,transaction_id)> 0