SSRS: полезные формулы

By | December 20, 2014

Часто при работе с датами в отчетах приходится писать формулы (expressions) для отображения различных специальных дат, таких как начало месяца и т.п.

Я решил собрать все часто встречающиеся даты в этом посте:

первый день предыдущего месяца
=dateadd(“m”,-1,dateserial(year(Today),month(Today),1))

последний день предыдущего месяца
=dateadd(“m”,0,dateserial(year(Today),month(Today),0))

первый день этого месяца
=dateadd(“m”,0,dateserial(year(Today),month(Today),1))

последний день этого месяца
=dateadd(“m”,1,dateserial(year(Today),month(Today),0))

первый день следующего месяца
=dateadd(“m”,1,dateserial(year(Today),month(Today),1))

последний день следующего месяца
=dateadd(“m”,2,dateserial(year(Today),month(Today),0))

аналогичная дата предыдущего месяца
=DateAdd(“m”,-1,Today)

неделя назад
=DateAdd(“ww”,-1, Today)
или
=DateAdd(“d”,-7, Today)

начало недели (учтите, что в США и Европе разные стандарты на первый день недели)
=DateAdd(“d”,-DatePart(DateInterval.WeekDay,Today,0,0)+1,Today)

аналогичная дата год назад
=DateAdd(“yyyy”,-1, Today)

начало года (YTD)
=DateAdd(“d”,-DatePart(DateInterval.DayOfYear,Today,0,0)+1,Today)