繁体   English   中英

在报告上设置SSRS预设或自定义日期

[英]SSRS Preset or Custom Date Selection on Report

我目前有一个能够选择开始日期和结束日期的报告。 我很好奇您是否可以同时设置预设和自定义选项

选择:

当前周,上周或自定义日期范围。

谢谢,

看一下级联参数

上面的链接似乎更着重于从查询中获取级联参数值,但您可能不希望在日期中使用它-据我所知,为日期参数设置“可用值”会将您限制为下拉列表日期,而不是通常更易于使用的日历。 不过,它仍然是级联参数如何工作的良好背景。

为此,使用默认开始/结束日期的表达式,您基本上希望第一个参数是“当前周”,“上周”和“自定义日期范围”之间的选择。 您可以将这些标签显示给用户,但是值可以是您想要的任何值-对于我的测试,我只使用了1、2和3。

第一个参数

然后,您还要设置2个参数,一个用于开始日期,一个用于结束日期。 确保数据类型为日期。 您将需要根据第一个参数的值设置这些默认值。 我将使用下面的表达式作为开始日期。 您可能还需要根据定义周的方式进行一些修改-是前7天的“当前周”,还是直到今天的最新星期一,等等。

=Switch(
    Parameters!FirstParam.Value = 1, DateAdd("d", -7, Today()),
    Parameters!FirstParam.Value = 2, DateAdd("d", -14, Today())
)

在这种情况下,您甚至不需要考虑第三个选项,因为如果用户想要自定义日期范围,则您不希望开始日期和结束日期填写任何默认值。 默认结束日期也需要类似的表达式。

由于您希望用户选择第三个选项时也能够输入自定义范围,因此您不希望填写开始/结束日期参数的“可用值”,因为这样用户将无法选择任何日期(至少据我所知-如果有解决方法,我希望看到它,因为那是我想用的东西)。

这种方法的可能缺点是,如果用户从选择“当前周”开始,然后将主意更改为“上周”,则开始/结束日期将不会更改为“上周”。 您可以在这里详细了解为何会发生这种情况,但本质上是:由于选择“当前星期”后已经填写的值仍然有效(它们是日期,这是这些参数的唯一标准,因为未设置可用值),更改选择后它们将不会刷新。 解决此问题的方法是定义“可用值”,但是如上所述,这将使用户停止输入自定义日期范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM