SSRS 上个月的最后一个工作日 vbscript
SSRS Last Business Day of Previous Month vbscript
我需要一些帮助来编写上个月最后一个工作日的 SSRS 表达式。
我尝试了以下方法,它给出了上个月的最后一个日历日,但我需要最后一个工作日。
= DateAdd("d", -1, DateSerial(Year(Now), Month(Now), 1))
和
=dateadd("d",-1,dateadd("q",datediff("q","1/1/1900",today()),"1/1/1900"))
提前致谢。
您可以将其分为两个步骤来完成。
创建一个文本框(我们称之为 endoflastmonth)。
将表达式设置为以下内容:
=DateAdd(DateInterval.Minute, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1))
现在创建另一个文本框并输入以下表达式:
=format(DateAdd("d"
, Switch(DatePart("w", reportitems!endoflastmonth.Value) = 2, -3
,DatePart("w", reportitems!endoflastmonth.Value) = 1, -2
,True, -1)
, reportitems!endoflastmonth.Value),"dd/MM/yyyy")
理论上,您应该在此文本框中输入上个月的最后一个工作日。
第二个的格式是获取“dd/MM/yyyy
”格式的日期。您可以根据需要设置格式。
如果你想把它作为参数..你有两种选择..一种是使用 SQL 来获得你想要的值..但是因为你想在表达式中完成..你可以这样做像这样..我不知道这是不是最好的方法
= DateAdd("d"
, Switch(DatePart("w", DateAdd(DateInterval.Minute, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1))) = 2, -3
,DatePart("w", DateAdd(DateInterval.Minute, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1))) = 1, -2
,True, -1)
, DateAdd(DateInterval.Minute, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1)))
我需要一些帮助来编写上个月最后一个工作日的 SSRS 表达式。
我尝试了以下方法,它给出了上个月的最后一个日历日,但我需要最后一个工作日。
= DateAdd("d", -1, DateSerial(Year(Now), Month(Now), 1))
和
=dateadd("d",-1,dateadd("q",datediff("q","1/1/1900",today()),"1/1/1900"))
提前致谢。
您可以将其分为两个步骤来完成。 创建一个文本框(我们称之为 endoflastmonth)。
将表达式设置为以下内容:
=DateAdd(DateInterval.Minute, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1))
现在创建另一个文本框并输入以下表达式:
=format(DateAdd("d"
, Switch(DatePart("w", reportitems!endoflastmonth.Value) = 2, -3
,DatePart("w", reportitems!endoflastmonth.Value) = 1, -2
,True, -1)
, reportitems!endoflastmonth.Value),"dd/MM/yyyy")
理论上,您应该在此文本框中输入上个月的最后一个工作日。
第二个的格式是获取“dd/MM/yyyy
”格式的日期。您可以根据需要设置格式。
如果你想把它作为参数..你有两种选择..一种是使用 SQL 来获得你想要的值..但是因为你想在表达式中完成..你可以这样做像这样..我不知道这是不是最好的方法
= DateAdd("d"
, Switch(DatePart("w", DateAdd(DateInterval.Minute, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1))) = 2, -3
,DatePart("w", DateAdd(DateInterval.Minute, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1))) = 1, -2
,True, -1)
, DateAdd(DateInterval.Minute, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1)))