SSRS 2008多值参数数据驱动订阅

时间:2014-10-29 12:13:33

标签: reporting-services ssrs-2008 ssrs-2008-r2

我有一个使用多值参数的SSRS报告。可用值是单列数据集。例如

账户号码
帐号名 地址
销售

它只是一个列标题名称列表。(报告中的每一列都有一个可见性切换,无论列名是否被选为多值参数的一部分)

该报告可以作为按需运行的常规报告和常规订阅(只需选择我想要的各种订阅列)。

我需要为同一报告执行数据驱动订阅。作为DDS的一部分,我将为此特定订阅传递我想要的列:
选择'AccountNumber,AccountName,Sales'作为列

我从数据库获取1参数的值。订阅错误。 (此时我无权获取特定错误)。如果我将多个列指定为静态参数,则它也不起作用。如果我指定1列,则报告有效。

提前感谢您的帮助!

更新
我能够通过两种方式获得半解决方案。
 1.我没有从数据库查询中获取报表的可用值参数,而是指定了值,这在本示例中不是问题。然后,典型的下拉多值选择框适用于数据驱动。您会认为查询可以执行相同的操作,因为它在DDS查询和数据库中与数据库进行通信。在常规订阅中,为什么不在数据驱动订阅中呢?

 2.在我执行上述操作之前,我在名为“Default”的参数数据集查询中添加了另一行。然后,我创建了一个隐藏的虚拟参数,如果输入是默认的,则使用硬编码列列表,否则使用输入的内容。然后我可以在我的DDS“Default”中输入1个值。然后,我必须调整列可见性公式以适用于我的虚拟参数。

1 个答案:

答案 0 :(得分:0)

从DB获取值作为union而不是逗号分隔,如

SELECT 'AccountNumber' AS [Columns]
UNION
SELECT 'AccountName' AS [Columns]
UNION
SELECT 'Sales' AS [Columns]

而不是从查询中获取 -

SELECT 'AccountNumber,AccountName,Sales' as columns