2016-08-08 15 views
0

Ich versuche, ein Standarddatum auf den ersten Tag des vorherigen April festzulegen. Ich habe Ausdrücke für den ersten Tag des Vormonats gefundenSo finden Sie den ersten Tag eines vorherigen Monats in SQL Server Reporting Services

=DateValue(DateAdd("M",-1,DateAdd("D",-(Day(Now)-1),Now))) 

Und ich habe einen Ausdruck für den 1. Tag des Monats April für das laufende Jahr (=CDATE("04/01/"+CStr(Year(NOW())), aber ich immer brauchen, um den vorherigen April zu finden gefunden, nicht April die laufendes Jahr.

Kann jemand bitte helfen?

Antwort

1

Versuchen:

=IIF(Today.Month>=4,DateSerial(today.Year,4,1),DateSerial(today.Year-1,4,1)) 

Hinweis, wenn Sie den Bericht im April laufen oder nachdem Sie das aktuelle Jahr April erhalten wird, wenn Sie den Bericht im März oder vor Ausführung des Programms wird das letzte Jahr April erhalten.

Lassen Sie mich wissen, ob dies hilft.

+0

Hallo, es tat nicht, aber ich denke, es war meine Schuld, als nach dem Lesen meiner Frage es irreführend ist. Es zeigte 01.04.2015. Wenn ich den Bericht jetzt (August 2016) ausführe, sollte der Ausdruck am 01.04.16 zurückgegeben werden, aber wenn ich ihn im März 2016 ausgeführt habe, sollte er den 01.04.15 anzeigen. – Freddie

+0

Was meinst du mit Wenn ich im März gelaufen wäre, sollte es 01.04.15 zeigen? Was passiert, wenn Sie den Bericht nach und vor dem März ausführen? Erkläre besser –

+0

Hallo danke für deine Zeit, ich versuche es besser zu erklären. . Der Ausdruck, den ich brauche, sollte immer den letzten April zeigen. Wenn ich den Bericht heute (August 2016) ausführe, sollte der Ausdruck das Datum 01.04.2016 zurückgeben. Ich habe gerade den Ausdruck = DateSerial (today.Year-1,4,1) in den Bericht eingefügt und ihn ausgeführt und es wurde am 01.04.2015 zurückgegeben. Ich möchte, dass es am 1. April erscheint (April ist gerade vorbei). – Freddie

Verwandte Themen