【问题标题】:How to find the 1st day of a previosu month in SQL Server Reporting services如何在 SQL Server 报告服务中查找上个月的第一天
【发布时间】:2016-08-08 14:43:19
【问题描述】:

我正在尝试将默认日期设置为上一个四月的第一天。 我找到了上个月第一天的表达方式

=DateValue(DateAdd("M",-1,DateAdd("D",-(Day(Now)-1),Now))) 

我找到了今年 4 月 1 日的表达式 (=CDATE("04/01/"+CStr(Year(NOW())),但我总是需要找到上一个 4 月,而不是当年的 4 月。

有人可以帮忙吗?

【问题讨论】:

    标签: reporting-services reportbuilder


    【解决方案1】:

    试试:

    =IIF(Today.Month>=4,DateSerial(today.Year,4,1),DateSerial(today.Year-1,4,1))
    

    请注意,如果您在 4 月或之后运行报告,您将获得当年的 4 月,如果您在 3 月或之前运行报告,您将获得去年的 4 月。

    如果这有帮助,请告诉我。

    【讨论】:

    • 嗨,它没有,但我认为这是我的错,因为在重新阅读我的问题后它具有误导性。它显示 2015 年 1 月 4 日。如果我现在(2016 年 8 月)运行报告,表达式应该返回 01/04/16,但如果我在 2016 年 3 月运行它,那么它应该显示 01/04/15。
    • 如果我在 3 月跑步,它应该显示 01/04/15 是什么意思?如果您在 3 月前后运行报告会发生什么情况?解释得更好
    • 您好,感谢您的宝贵时间,我会尽力解释得更好。 .我需要的表达式应该总是显示去年四月。因此,如果我今天(2016 年 8 月)运行报告,则表达式应返回日期 01/04/2016。我刚刚将表达式 =DateSerial(today.Year-1,4,1) 添加到报告中并运行它,它返回 01/04/2015。我希望它显示 2016 年 1 月 4 日(四月刚刚过去)。
    • 这正是我所需要的!非常感谢你。巨大的帮助。
    • @Freddie,如果我的回答解决了您的问题,您可以选择它作为正确答案或支持它。 how to select an answer as correct
    猜你喜欢
    • 2011-01-04
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    相关资源
    最近更新 更多