SSRS 上个月的第一天



我有一个 SSRS 报告,它应该显示截至上个月最后一天的日历 YTD 销售额。我在动态计算开始日期参数时遇到问题。

如果我在 2017 年 12 月 15 日运行报告,则上个月的最后一天是 11/30,因此我希望看到 2017 年 1 月 1 日至 2017 年 11 月 30 日。如果我在 2018 年 1 月 15 日运行报告,则上个月的最后一天是 12/31,因此我希望看到 2017 年 1 月 1 日至 2017 年 12 月 31 日。

对于开始日期,我使用的是Today.AddMonths(1-Today.month)。添加天数(1-今天)。AddYears(1-Today.year),它实际上只是根据报表的运行日期返回当前年份的第一天。这在除一月以外的任何月份都可以正常工作。

当我使用该公式并在 1 月份运行报表时,它返回 1/1/2018 而不是 1/1/2017。

我意识到它不起作用的原因是因为我的计算基于"今天"而不是上个月的最后一天,我只是不知道正确的公式可以满足我需要的。

谁能帮忙?

要获取您的开始日期,请使用此...

=DateSerial(Year(DateAdd("m", -1, Now())),  1, 1)

这只是取当前日期(在本例中为 2018-01-06),减去一个月,得到 2017-12-06,得到该日期的年份(2017),然后我们只需将月份和日期都设置为 1,最终得到 2017-01-01

如果我们在 20 年 2018 月 20 日运行这个,我们将遵循相同的过程,减去一个月,得到 2018-05-20 得到年份 (2018),然后将月份和日期设置为 1,得到 2018-01-01

对于结束日期使用

=DateAdd("d",-(Day(today)), Today)

在这里,我们只是从今天的日期中减去几天。我们减去的天数是今天的天数,所以对于 2018-01-06,我们减去 6 天,得到 2017-12-31 如果我们在 20 年 2018 月 20 日运行这个,我们将遵循相同的过程,取 2018-06-20 并减去 20 天,得到 2018-05-31

最新更新