Reporting services 根据今天返回日期';SSRS中的工作日

Reporting services 根据今天返回日期';SSRS中的工作日,reporting-services,ssrs-2012,reportbuilder,Reporting Services,Ssrs 2012,Reportbuilder,我是新来报建SSR的。 我目前正在尝试在SSRS中显示一个特定的日期,这取决于今天是否在周末。我试图通过利用Microsoft在其文档中提供的不同日期函数来实现这一点。到目前为止,我得到的是: =IIF(WeekdayName(weekday(DateAdd(DateInterval.Day, -1, today()))) = 'Monday', CDate(DateAdd("d", -3, Parameters!DateTo.Value)), IIF(WeekdayNam

我是新来报建SSR的。 我目前正在尝试在SSRS中显示一个特定的日期,这取决于今天是否在周末。我试图通过利用Microsoft在其文档中提供的不同日期函数来实现这一点。到目前为止,我得到的是:

=IIF(WeekdayName(weekday(DateAdd(DateInterval.Day, -1, today()))) = 'Monday', CDate(DateAdd("d", -3, Parameters!DateTo.Value)), 
IIF(WeekdayName(weekday(DateAdd(DateInterval.Day, -1, today()))) = 'Sunday', CDate(DateAdd("d", -2, Parameters!DateTo.Value)),
CDate(DateAdd("d", -1, Parameters!DateTo.Value))))
正如您所看到的,我正在尝试使用它,因此,如果今天是星期日或星期一,则返回的日期值应该是上周五的值,否则它应该返回昨天的日期

在报表生成器中,我收到一条错误消息,指出需要一个表达式,无法保存该文件

我错过了什么?是否有不同的方法来实现这一点?谢谢你的帮助

比尔,
菲利普

我会这样做。。。可能有更有效的方法,但这将是我的方法

=IIF(
    Weekday(Today())=7 OR Weekday(Today())=1
    ,DATEADD(DateInterval.Day, (Weekday(Today())+1) * -1, Today())
    , Today()
    )
注意这假设你的一周从周日开始,如果不是,调整
IIF
的第一部分以适应

所以我们在这里说


如果今天是星期六(7)或星期天(1),则从当前日期中减去(当前天数+1),否则返回当前日期。

谢谢!那很有效!