首页 > 解决方案 > SSRS 如何获得一个月的第一个日期,滞后 1 天?

问题描述

有很多解决方案解释了如何获得当月或上月的第一天。但我需要我的公式是动态的,以考虑今天的日期 -1 天滞后。

例如,今天是 2018 年 8 月 1 日,我不希望我的参数显示 2018 年 8 月 1 日,我希望它有 1 天的延迟,所以它仍然显示 2018 年 7 月 1 日。

先感谢您。

标签: datedatetimereporting-services

解决方案


此表达式将返回上个月的 1

=dateadd("m",-1,dateserial(year(Today),month(Today),1))

此表达式将返回当前月份的 1

dateadd("m",0,dateserial(year(Today),month(Today),1)) 

结合 DatePart 计算当前日期是否是一个月的 1 日,然后您可以像这样使用 SWITCH

=Switch(
   DatePart("d",Now)= 1, dateadd("m",-1,dateserial(year(Today),month(Today),1)),
   DatePart("d",Now)> 1, dateadd("m",0,dateserial(year(Today),month(Today),1)) 
 )

在此处输入图像描述

像这样更改字段的文本框属性

在此处输入图像描述


推荐阅读