2011-10-20 87 views
24

在SQL Server Reporting Services中;我如何計算上個月的第一天和最後一天?當月的第一天和最後一天

我知道我可以使用下面的表達式來獲取當前月份的最後一天,但當我試圖找到上個月的第一個和最後一個時,我被卡住了。

=DateSerial(Year(Now()), Month(Now()), "1").AddMonths(1).AddDays(-1) 

回答

34

只是基於你的代碼工作的猜測。

--previous month last 
=DateSerial(Year(Now()), Month(Now()), "1").AddDays(-1) 

--previous month first 
=DateSerial(Year(Now()), Month(Now()), "1").AddMonths(-1) 
+0

+1好猜測。有用 – niktrs

7

對於當月

=DateSerial(Year(Parameters!ParameterName.Value), Month(Parameters!ParameterName.Value), "1").AddMonths(1).AddDays(-1) 

上月最後一天:

=DateSerial(Year(Now()), Month(Now()), "1").AddDays(-1) 

上月第一天:

=DateSerial(Year(Parameters!ParameterName.Value), Month(Parameters!ParameterName.Value), "1").AddMonths(-1) 
2

上月最後一天:

=DateAdd("d",-(Day(today)), Today) 
1

首先比上月:

=DateAdd("m",-1,DateAdd("d",1-(Day(Today)), Today)) 
0

使用純VB功能

首頁上一頁月的一天

=DateAdd("m", -1, DateSerial(Year(Today()), Month(Today()), 1)) 

末上個月的一天

=DateAdd("d", -1, DateSerial(Year(Today()), Month(Today()), 1)) 
0

我能做到這一點,並顯示在mm/dd格式使用:

=Format(DateAdd("D", -1, (DateAdd("M", 1, yourdate.value))), "MM/dd") 
0
=DateSerial(Year(Now), Month(Now), 1) 
相關問題