2011-10-20 24 views
24

In SQL Server Reporting Services; Come posso calcolare il primo e l'ultimo giorno del mese precedente?Primo e ultimo giorno del mese corrente

So che posso usare l'espressione qui sotto per ottenere l'ultimo giorno del mese corrente, ma sono bloccato quando cerco di trovare il primo e l'ultimo del mese precedente.

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

risposta

34

Solo un'ipotesi basata sul funzionamento del codice.

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

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

+1 Buono indovina. Funziona – niktrs

7

Per mese corrente

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

il mese precedente l'ultimo giorno:

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

mese precedente primo giorno:

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

il mese precedente ultima data:

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

Prima del mese precedente:

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

Utilizzando funzioni native VB

primo giorno del mese precedente

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

ultimo giorno del mese precedente

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

sono stato in grado di raggiungere questo obiettivo, e mostrarlo in formato mm/dd utilizzando:

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