2011-10-20 28 views
24

En SQL Server Reporting Services; ¿Cómo puedo calcular el primer y el último día del mes anterior?Primer y último día del mes actual

Sé que puedo utilizar la expresión a continuación para obtener el último día del mes actual, pero estoy atascado cuando trato de encontrar el primero y el último del mes anterior.

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

Respuesta

34

Solo supongo que se basa en el funcionamiento de su código.

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

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

+1 Buena adivinar. Funciona – niktrs

7

Por mes actual

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

mes anterior último día:

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

mes anterior primer día:

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

mes anterior última fecha:

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

primer mes anterior:

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

El uso nativo de VB Funciones

primer día del Mes Anterior

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

último día del mes anterior

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

que fue capaz de lograr esto, el documento presentado en el formato mm/dd mediante el uso de:

=Format(DateAdd("D", -1, (DateAdd("M", 1, yourdate.value))), "MM/dd") 
0
=DateSerial(Year(Now), Month(Now), 1) 
Cuestiones relacionadas