Мне потребовалось некоторое время, чтобы понять это, и ответ JC был самым простым для модификации и имел хорошую логическую структуру. Я расширил его немного для других, ищущих ответы на эту тему.
Я обнаружил, что обычно вы хотите не только последний день месяца / года, но и первый день месяца / года. Так что вот они полные строки для расчета именно этого. С версией SQl там тоже.
Первый день текущего месяца
SSRS=Today.AddDays(1-Today.Day)
SQL=SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,getdate()),0))
Последний день текущего месяца
SSRS=Today.AddDays(1-Today.Day).AddMonths(1).AddDays(-1)
SQL=SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0))
Первый день текущего года
SSRS=Today.AddMonths(1-Today.month).AddDays(1-Today.day)
SQL=SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
Последний день текущего года
SSRS=Today.AddDays(1-Today.Day).AddMonths(13-today.month).AddDays(-1)
SQL=SELECT DATEADD(dd,-1,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0)))
Надеюсь, это поможет Сомоне.