【问题标题】:How to display previous business day using ssrs expression如何使用 ssrs 表达式显示前一个工作日
【发布时间】:2015-03-14 01:25:17
【问题描述】:

我在 ssrs 报告中要求在表达式中显示前一个工作日的日期。我在 sql server 中使用下面的 sql 来显示日期

DATEADD(DAY, CASE DATENAME(WEEKDAY, GETDATE()) 
                    WHEN 'Sunday' THEN -2 
                    WHEN 'Monday' THEN -3 
                    ELSE -1 END, DATEDIFF(DAY, 0, GETDATE()))

可以帮我用类似的代码在 ssrs 表达式中显示前一个工作日(只是日期)吗?

【问题讨论】:

    标签: reporting-services ssrs-2008 ssrs-2008-r2 ssrs-tablix ssrs-grouping


    【解决方案1】:

    这样的东西在 SSRS 中的功能等效:

    =DateAdd(DateInterval.Day
        , Switch(DatePart(DateInterval.WeekDay, Today()) = 2, -3
            ,DatePart(DateInterval.WeekDay, Today()) = 1, -2
            ,True, -1)
        , Today())
    

    甚至:

    =DateAdd("d"
        , Switch(DatePart("w", Today) = 2, -3
            ,DatePart("w", Today) = 1, -2
            ,True, -1)
        , Today)
    

    这是相同的,但有一些语法快捷方式。

    取决于您所在的区域,您可能需要使用开始或一周参数调用日期函数,或调整表达式中的数字,但在英国环境中,上述产品适用于我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-30
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      • 2021-12-27
      相关资源
      最近更新 更多