我需要在 SSRS 中安排通过电子邮件发送的报告。我选择了数据驱动订阅,因为报告需要发送到分发列表。
我有 2 个参数,Store 和 DateTime。Store 是一个多值参数,用户必须选择 Datetime。但是当我尝试运行数据驱动订阅时,它会提示错误!
我浏览了一些帖子,说明 DDS 不接受多值参数!
有解决办法吗??谁能详细说明如何做到这一点?
谢谢,伊斯瓦娅
我需要在 SSRS 中安排通过电子邮件发送的报告。我选择了数据驱动订阅,因为报告需要发送到分发列表。
我有 2 个参数,Store 和 DateTime。Store 是一个多值参数,用户必须选择 Datetime。但是当我尝试运行数据驱动订阅时,它会提示错误!
我浏览了一些帖子,说明 DDS 不接受多值参数!
有解决办法吗??谁能详细说明如何做到这一点?
谢谢,伊斯瓦娅
可能您可以尝试使用分隔符发送参数,并在传递到 sql 后将多个参数拆分出来。
我已经这样做了几次,困难的一点可能是把它们分开。诚然,我使用的是 Oracle。
我遇到了同样的问题,并通过使用 listagg() 函数在 DDS 查询中创建一个逗号分隔的值列表来解决它。例如,
SELECT email_address , listagg(transaction_id, ', ') WITHIN GROUP (ORDER BY transaction_id) AS trans_ids FROM my_table
结果将是一个可以传递给报告的单值字符串(即'001, 002, 003')。在报表查询中,我使用了 instr() 来解析字符串:
选择 ..... 在哪里 instr(:Transaction_ID, transaction_id) > 0
传递给 SSRS 多字符串参数的值需要在可用值列表中。如果在运行时检索报告参数值但用于检索可用值的查询没有返回数据 (null),也可能会发生错误。
希望这会有所帮助,祝你好运!