【问题标题】:Month to Date Paramaters when the month ends during a new month当月在新月份结束时的本月至今参数
【发布时间】:2014-07-25 02:41:07
【问题描述】:

我每周一都会为上周五的活动生成一份本月迄今为止的报告。结束日期是今天-3。

当 -3 日期在新月份时,会出现我的问题。例如,2014 年 7 月 31 日是该月的最后一天。我希望将在 8 月 4 日星期一运行的报告在 7 月 1 日至 7 月 31 日返回。

现在发生的情况是,由于我的 -3,它将返回报告 Aug1 -Aug 1。我需要逻辑来识别我想要上个月。可能使用结束日期之前的每个星期一的月份???

此外,我不确定我的问题出在开始日期还是结束日期。我希望此报告在 SSRS 订阅上运行,但我无法提出解决方案。

提前感谢您的建议。

当前设置:

Start = DateAdd(DateInterval.Month,
         DateDiff(DateInterval.Month,#01/01/1900#,Now()),#01/01/1900#)   
End = DateAdd("d", -3, Today()) 

【问题讨论】:

  • 您可以在 SSRS 表达式中使用 IIF() 如果条件为真,则执行一个公式,如果条件为假,则执行不同的公式。这样你就可以使用任何你想要的截止点来决定你是想要 MTD 还是上个月。
  • "...当月在新的一个月结束时"

标签: sql


【解决方案1】:

如果它总是在星期一运行,您可能要考虑的另一个选项是不要设置 startdate 和 enddate 参数。相反,您可以将它们作为变量在您的过程中使用 GETDATE() 进行计算。

SELECT @EndDate = DATEADD(day,-3,GETDATE())
SELECT @StartDate = DATEADD(month, DATEDIFF(month, 0, @EndDate), 0)

【讨论】:

    猜你喜欢
    • 2019-06-07
    • 2022-10-21
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2011-07-21
    相关资源
    最近更新 更多