【问题标题】:Reset SSRS parameters when date parameter changes日期参数更改时重置 SSRS 参数
【发布时间】:2015-01-18 15:47:02
【问题描述】:
我的报告中有 4 个用户定义的参数 - 日期(默认为 today())和其他三个。我希望这样当用户将日期参数更改为另一个日期时,其他 3 个参数将重置为默认值。
我似乎不知道该怎么做。我已经阅读了有关级联参数的信息,但我不确定这是如何完成这项任务的。
完成这项工作的最佳方法是什么?现在,当您更改日期时,其他参数保持不变,这不是我的用户希望看到的。
谢谢!
【问题讨论】:
标签:
sql-server
reporting-services
ssrs-2008
ssrs-2008-r2
ssrs-2012
【解决方案1】:
我没有尝试过这个技巧,但我已经看到它完成了,它有点棘手。
Boyan Penev 有一个非常详尽和创新的解释。虽然参数选择的第一部分是文本而不是日期,但我相信它可以适应您的需求
总结如下:
- 创建一个指向包含 out 的数据库的新数据源
表和存储过程;
- 为父参数创建数据集p1;
- 创建一个@p1 报告参数(多选,文本)
从 usp_p1 存储过程中获得的值(p1k 作为值,p1l
作为标签);
- 为从属参数创建一个数据集 p2,它接受 @p1
作为参数;
- 创建一个@p2 报告参数(多选,文本)
以及从 usp_p2 过程中获得的默认值(p2k 作为值,
p2l 作为标签)。
- 将@p2 报表参数设置为Internal;
- 创建一个@p3 报告参数(多选,文本),带有可用
=Parameters!p2.Value 的值表达式和标签
=参数!p2.标签。默认值应该是 =Parameters!p2.Value;
- 从 usp_main 存储过程创建一个数据集 main 并确保其参数由 @p3 填充,而不是 @p2;
- 在报告中添加一个包含两列的表格,显示主数据集中的 p2l 和 amt。
就像我说的有点复杂,但我相信你可以让策略适应你的需求。
希望这有帮助!