Report Builder 3 创建当前、30、60 日期范围参数以生成报告

Report Builder 3 Creating a current, 30, 60, date range parameter to generate reports

我是 Report Builder 的新手,我的任务是创建日期范围搜索参数。他们正在寻找当前、30 天和 60 天的值。整个报告是有效的,我只对它做了一些改动。所以在参数中我做了一个 dateRange 参数并将数据类型设置为 Date/Time 并且下面没有复选框。在可用值属性中,我指定了 3 个值:

  1. 当前:=DateAdd("d", -1, Today())
  2. 30 天范围:=DateAdd("d", -30, Today())
  3. 60 天范围:=DateAdd("d", -60, Today())

默认值和高级属性保持不变。

为什么我要用那些表情?我正在查看 StartDate 和 EndDate 值,enddate 值有 =DateAdd("d", -1, Today()),所以我的逻辑是回溯 30 天和 60 天,我需要在前面添加一个否定。我认为这是错误的想法。客户正在寻找 return 从该月的第一天开始的值的参数,因此我需要确保我使用 month.minValue 使报告始终从该月的第一天开始月。我希望所有这些都有意义。同样,我对 Report Builder 非常陌生,请原谅我的无知。

吉姆

根据您的问题和反馈意见,这就是我得到的。

定义DateRange参数如下:

可用值:

=DateAdd("d", -1, Today())
=DateAdd("d", -30, Today())
=DateAdd("d", -60, Today())

要使用当前 =DateAdd("d", -1, Today()) 作为默认值,您必须将其放在 DateRange 参数的默认值选项卡中。

现在为了处理结束日期,我创建了另一个名为 EndDate 的参数,将其默认值设置为当前值:

=DateAdd("d", -1, Today())

现在在数据集查询中,您必须使用参数 DateRange 来获取月份的第一个日期。检查这个例子。

select *
from mytable a
where a.DocDate between DATEADD(month, DATEDIFF(month, 0, @DateRange), 0)
and @EndDate

DATEADD(month, DATEDIFF(month, 0, @DateRange), 0) will produce the first date of month based on the daterange selection example using today date:

当前:01/10/2015(dd/MM/yyy格式)

30 天范围:01/09/2015

60 天范围:01/08/2015

EndDate参数会产生26/10/2015

如果有帮助请告诉我