【问题标题】:Report Builder: Expression to find Monday of the current week报表生成器:查找本周星期一的表达式
【发布时间】:2017-05-25 14:42:03
【问题描述】:

我不知道如何使用 Report Builder 3.0 中的表达式返回当前一周的星期一。在 SQL 中,这很简单:

DATEADD(wk, DATEDIFF(wk,0,GETDATE()), 0)

我尝试将其转换为这样的表达式:

=DateAdd("w", datediff("w", 0, now()), 0)

...但这返回了错误:Argument 'Date1' cannot be converted to type 'Date'

【问题讨论】:

    标签: sql ssrs-2008 expression reportbuilder3.0


    【解决方案1】:

    您可以通过使用DatePart 获取当前星期几,然后从当前日期减去此天数(您需要添加 1,因为工作日是从 1 开始,而不是从 0 开始):

    =DateAdd("d",1 - DatePart("w",Today,FirstDayOfWeek.Monday,FirstWeekOfYear.System),Today)
    

    【讨论】:

    • 返回星期日,而不是星期一。我也只需要日期,而不是时间。
    • 我已经编辑了答案以包含FirstDayOfWeek 参数,并且还使用Today 而不是Now 来删除时间
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多