所以我在SSRS中的startDate和endDate的默认值是使用以下ssrs表达式设置的。
上个月的第一天ssrs表达
=DateAdd(DateInterval.Month, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1))
上个月最后一天ssrs表达
=DateAdd(DateInterval.Day, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1))
但是,除非我想在每个月的16日进入并为当月前15天请求它的人生成此报告,否则在我的情况下这不会单独起作用。
所以在开始日期的默认值表达式中,我正在尝试这个iif语句......
= iif(
DatePart(DateInterval.Day, Today() <> "20",
DateInterval.Month, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1),
DateInterval.Month, 1, DateSerial(Year(Date.Now), Month(Date.Now), 1)
)
运作不好。所以我要做的就是......
根据当月的当天更改默认开始日期和结束日期,因此,如果当前月份的当前日期等于16,则将当前月份的开始日期1和当前月份的结束日期15设为当前日期月份不是16个开始日期的前一个月的第一天和结束日期的上个月的最后一天。那么唯一需要的是获取订阅电子邮件以及将它们发送到哪一天。
答案 0 :(得分:2)
未经测试,但如果你试试这个怎么办? (对于您的开始日期参数):
= iif(
DatePart(DateInterval.Day, Today()) <> "16",
DateAdd(DateInterval.Month, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1)),
DateSerial(Year(Date.Now), Month(Date.Now), 1)
)