如何将默认参数日期设置为月初到昨天的日期

时间:2019-05-16 07:30:18

标签: reporting-services

我已经建立了一个SSRS报告。我将默认日期参数设置如下: startdate:采用每月的第一天。 EndDate:取昨天的日期。

此代码为月初 =DateSerial(Year(Now()), Month(Now()), "1").AddMonths(0) 昨天的日期代码

=DateAdd(DateInterval.Day,-1,CDate(FormatDateTime(Now,DateFormat.ShortDate)))

日期可以完美运行,直到新的月份到来,结果将如下所示: 开始日期:01. 5 2019 结束日期:2019年4月30日

应该在哪里: 开始日期:01. 4 2019 结束日期:2019年4月30日

我如何确定是否有新日期出现,它将花费上个月的第一天。

2 个答案:

答案 0 :(得分:0)

您应该添加IIF语句以检查今天是否是每月的第一天。下面的表达式可以满足您的需求。

=IIF(DatePart(DateInterval.Day, Today()) = 1, 
     DateSerial(Year(Now()), Month(Now())-1, 1), 
     DateSerial(Year(Now()), Month(Now()), 1))

答案 1 :(得分:-1)

只需将您的StartDate更改为引用昨天的日期即可:

=DateSerial(Year(Today.AddDays(-1)),Month(Today.AddDays(-1)),1)