我已经建立了一个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日
我如何确定是否有新日期出现,它将花费上个月的第一天。
答案 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)