SSRS表达到去年的星期一

时间:2017-09-26 08:29:28

标签: reporting-services expression ssrs-2012

在SSRS中,如何编写表达式以查找去年的星期一作为日期 示例:如果我选择星期一的9月26日,我必须在2015年9月26日星期一找到。在这种情况下,9/26/2015是星期六,所以我必须将日期参数设置为最近的星期一即2015年9月21日
我怎样才能通过SSRS表达式来实现

 =DATEADD(DateInterval.Year,-1,Parameters!BeginDate.Value)

这将有助于找到去年同一日期,但如何更改以使其选择去年的星期一

1 个答案:

答案 0 :(得分:1)

=DateAdd
(
    DateInterval.Day
    , 2 - weekday(dateadd(DateInterval.Year,-1,Parameters!BeginDate.Value))
    , dateadd(DateInterval.Year,-1,Parameters!BeginDate.Value)
)

打破DateAdd功能...... 第一个论点只是告诉它调整几天 下一个参数得到参数日期减去一年的工作日,然后我们取这个数字FROM 2(这是星期一的工作日值)所以如果去年的参数日期是星期四(5)我们会得到2-5这给了我们-3所以我们需要三天的约会时间。 最后一个参数是参数日期减去一年,这是我们想要减去的日期(在这种情况下)3天。

注意如果系统设置不是默认值,则返回的工作日可能不一样,因此请相应地检查并调整, 2-(...部分,将其设置为星期一评估的值。