2016-08-08 2 views
0

Я пытаюсь установить дату по умолчанию в первый день апреля. я нашел выражения для 1-й день предыдущего месяцаКак найти 1-й день предыдущего месяца в SQL Server Службы Reporting Services

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

И я нашел выражение для 1-й день апреля в текущем году (=CDATE("04/01/"+CStr(Year(NOW())), но я всегда нужно найти предыдущую апреля, не апрель из текущий год.

Можно ли кому-нибудь помочь?

ответ

1

Try:

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

Примечание при запуске отчета в апреле или после того, как вы получите текущий год с апреля, если запустить отчет в марте или, прежде чем вы получите последний год с апреля.

Дайте мне знать, если это поможет.

+0

Привет, Это не так, но я думаю, что это была моя ошибка, так как после повторного чтения моего вопроса это вводит в заблуждение. Он показал 01/04/2015. Если я запустил отчет сейчас (август 2016 года), выражение должно вернуться 01/04/16, но если бы я его запустил в марте 2016 года, он должен показать 01/04/15. – Freddie

+0

Что вы имеете в виду, если бы я пропустил в марте, он должен показать 01/04/15? что должно произойти, если вы запустите отчет после и до марша ?. Объясните лучше –

+0

Привет, спасибо за ваше время, я попробую и объясню лучше. , Выражение, которое мне нужно, должно всегда показывать последний апрель. Поэтому, если я запустил отчет сегодня (август 2016 года), выражение должно вернуть дату 01/04/2016. Я просто добавил выражение = DateSerial (today.Year-1,4,1) в отчет и запустил его, и он вернулся 01/04/2015. Я хочу, чтобы он показывал 01/04/2016 (апрель только что ушел). – Freddie