【发布时间】:2020-05-13 17:43:44
【问题描述】:
我在 SSRS 中有一份报告,其中显示了基于日期参数的各种 tablix。用户将选择一个日期,报告将根据该日期填充。这工作正常。但是,我还希望用户能够单击“下一条记录”按钮(和“上一条记录”按钮),并且参数(和报告)将根据数据库中的下一个日期进行更改。
我通常会通过创建一个带有操作的文本框来完成此操作。例如,我将创建一个文本框“下一条记录”,进入文本框属性 > 操作 > 转到报告 >,然后发送一个通常类似于 Parameters!survey_id.Value + 1 的新参数。如果我想将数字 ID 增加一个静态数字(即增加 1),这很有效。如果我想将日期增加 1 天,我认为它也适用于日期;但是如果下一条记录不是一天,我该怎么做呢?
我认为可行的一种方法是在数据集中创建一个 row_number 字段,为参数提供值。代码如下:
select distinct sm.survey_date
,row_number() Over (order by survey_date) as increment
from survey_main as sm
group by sm.survey_date --sometimes there are multiple surveys in one day
order by sm.survey_date desc
给出结果
survey_date increment
2019-09-16 194
2019-08-24 193
2019-01-14 192
我的想法是我可以使用文本框操作中的增量字段来查找下一个调查日期,但我无法弄清楚代码(或者如果可能的话)。
有没有办法让它发挥作用?您还有其他可以想到的建议或解决方法吗?
谢谢!
【问题讨论】:
标签: sql-server reporting-services ssrs-tablix ssrs-2017