【问题标题】:SSRS Add Months in current date with last day of monthSSRS 在当前日期添加月份和月份的最后一天
【发布时间】:2014-12-02 09:39:29
【问题描述】:

我想用当前日期的最后一天添加月份

=dateadd(dateinterval.month, +4, DateAdd("d",-(Day(today)), Today))

表达式。

输出是

current_date = 12/02/2014

完成日期 = 03/30/2014

问题是 finsih_date 月份是 03(三月),三月的最后一天是 31,但我的参数显示为 30。

【问题讨论】:

  • 目前手头没有 ssrs,但尝试使用 01. 构造一个新日期。 这是您的 finished_date 之后下个月的第一天。现在您可以简单地在这个新日期调用 date add 和 -1,这应该会导致上个月的最后一天。
  • The-First-Tiger 请问你能写出finish_date的完整表达式吗?

标签: visual-studio-2010 reporting-services parameters ssrs-2008


【解决方案1】:

它可能看起来像:

=DateAdd("d", -1, DateSerial(DatePart("yyyy", finish_date), DatePart("m", DateAdd("m", 1, finish_date)), 1))

对于给定月份的每一天,它都会计算给定月份的最后一天。因此,对于 2014 年 3 月 30 日,您将得到 2014 年 3 月 31 日。

计算的工作方式如下:构建新日期,将其设置为给定日期的下个月的第一天。减去 1 天。这是前一个月的最后一天。由于我们添加了 1 个月,因此它是给定日期当月的最后一天。


编辑

finished_date = TODAY + 4 个月的代码(finished_date + 1 所以它是 TODAY + 5)

=DateAdd("d", -1, DateSerial(DatePart("yyyy", DateAdd("m", 5, TODAY())), DatePart("m", DateAdd("m", 5, TODAY())), 1))

【讨论】:

  • 在你的表达“finish_date”中造成混乱,因为我认为你想把finish_date硬代码但我想动态地改变它..如果我错了请告诉我我应该在finish_date写什么表示 Fields!finish_date 或其他事情请告诉我,谢谢您的回复。
  • Finish_Date 并不意味着硬编码。这是你喜欢的任何领域。它是您想要获取该日期当月最后一天的日期。
  • 但是没有任何字段,只有两个参数首先获取当前日期 =TODAY(),第二个参数应该是从第一个当前日期参数开始的下 4 个月(一个月的最后一天)。 .
  • 所以将 finished_date 替换为 DateAdd("m", 4, Today())
猜你喜欢
  • 2011-06-06
  • 1970-01-01
  • 2014-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多