我有报告“哪个默认值在当前月份运行”,在报告本身上,我创建了两个名为“上一个”和“下一个”的标签。如果我单击“上一个”标签,那么它应该创建 3 月份的报告,如果我单击“下一步”,它应该提供 5 月份的报告。我如何在报告服务中实现这一目标?
如果您还没有这样做,请确保报告接受日期参数(默认为今天的日期)并使用它来确定检索哪个月份的数据。
剩下的应该相对容易:
首先,右键单击“下一步”文本框并打开其属性对话框。那里有一个名为“导航”的选项卡。在“导航”选项卡上,您可以指定该文本框应链接到的报告(“跳转到报告”)。选择您当前正在处理的同一报告。
现在单击“参数”按钮指定要传递到要链接到的报告的参数。从可用参数列表中选择日期参数,并使用如下表达式作为其值:
=dateadd("m", 1, Parameters!Date.Value)
(我假设你的参数名称是“Date”。)
因此,您实际上链接到了同一份报告,但在其运行日期上添加了一个月。显然,“上一个”文本框的工作方式相同,只是将 -1 传递给 dateadd 调用。
想要更“.NET”的表达方式,你也可以尝试下面的代码:
=CDate(Parameters!Date.Value).AddMonths(1)
我相当确定这会完成同样的事情,并且可能更具可读性。
您可能还想设置这些文本框的样式,使它们看起来像最终用户的超链接(可能是蓝色/下划线,具体取决于您的标准)。