日期参数表达式 - SSRS
Date parameter expression(s) - SSRS
我正在努力弄清楚如何让 SSRS 报告的日期参数默认为:
日期 1:上个月的最后一天 - 上一年。
例如今天 = 22/06/2021 - 我需要 31/05/2020 才能出现
日期 2:当前月份的最后一天 - 上一年。
例如,今天 = 22/06/2021 - 我需要 30/06/2020 才能出现。
感谢收到的任何帮助。谢谢。
拳头表达式使用
=
DateAdd(
DateInterval.Day,
day(today()) * -1,
DateAdd(DateInterval.Year, -1, today())
)
第二次使用
=
DateAdd(
DateInterval.Day,
Day(today()) * -1,
DateAdd(
DateInterval.Month,
1,
DateAdd(DateInterval.Year, -1, today())
)
)
在第一个表达式中,从中间开始向外工作。
使用 DateAdd 从今天的日期减去 1 年,然后从中减去当前日期 (22)。
第二个是..
从今天的日期减去 1 年,然后加上一个月,最后减去当前日期。
我总是发现首先将日期更改为当月的第一天并从那里开始更容易。我以前使用 DATEADD,但现在开始使用 VB.NET 方式 - 对于像这样的复杂计算,它实际上更容易。
当月第一天:
=DATEADD("d", 1 - DAY(TODAY))
或
=TODAY.AddDays(1 - TODAY.Day)
然后减去一年:
=DATEADD("y", -1, DATEADD("d", 1 - DAY(TODAY)))
或
=TODAY.AddDays(1 - TODAY.Day).AddYears(-1)
然后从中减去一天得到上个月的月末:
=DATEADD("d", -1, DATEADD("y", -1, DATEADD("d", 1 - DAY(TODAY))))
或
=TODAY.AddDays(1 - TODAY.Day).AddYears(-1).AddDays(-1)
上一年当月的最后一天减去日前要加月:
=DATEADD("d", -1, DATEADD("M", 1, DATEADD("y", -1, DATEADD("d", 1 - DAY(TODAY)))))
或
=TODAY.AddDays(1 - TODAY.Day).AddYears(-1).AddMonths(1).AddDays(-1)
VB.NET 更容易阅读,并且可以边读边计算,而阅读嵌套的 DATEADD 则比较困难。
我正在努力弄清楚如何让 SSRS 报告的日期参数默认为:
日期 1:上个月的最后一天 - 上一年。
例如今天 = 22/06/2021 - 我需要 31/05/2020 才能出现
日期 2:当前月份的最后一天 - 上一年。
例如,今天 = 22/06/2021 - 我需要 30/06/2020 才能出现。
感谢收到的任何帮助。谢谢。
拳头表达式使用
=
DateAdd(
DateInterval.Day,
day(today()) * -1,
DateAdd(DateInterval.Year, -1, today())
)
第二次使用
=
DateAdd(
DateInterval.Day,
Day(today()) * -1,
DateAdd(
DateInterval.Month,
1,
DateAdd(DateInterval.Year, -1, today())
)
)
在第一个表达式中,从中间开始向外工作。
使用 DateAdd 从今天的日期减去 1 年,然后从中减去当前日期 (22)。
第二个是.. 从今天的日期减去 1 年,然后加上一个月,最后减去当前日期。
我总是发现首先将日期更改为当月的第一天并从那里开始更容易。我以前使用 DATEADD,但现在开始使用 VB.NET 方式 - 对于像这样的复杂计算,它实际上更容易。
当月第一天:
=DATEADD("d", 1 - DAY(TODAY))
或
=TODAY.AddDays(1 - TODAY.Day)
然后减去一年:
=DATEADD("y", -1, DATEADD("d", 1 - DAY(TODAY)))
或
=TODAY.AddDays(1 - TODAY.Day).AddYears(-1)
然后从中减去一天得到上个月的月末:
=DATEADD("d", -1, DATEADD("y", -1, DATEADD("d", 1 - DAY(TODAY))))
或
=TODAY.AddDays(1 - TODAY.Day).AddYears(-1).AddDays(-1)
上一年当月的最后一天减去日前要加月:
=DATEADD("d", -1, DATEADD("M", 1, DATEADD("y", -1, DATEADD("d", 1 - DAY(TODAY)))))
或
=TODAY.AddDays(1 - TODAY.Day).AddYears(-1).AddMonths(1).AddDays(-1)
VB.NET 更容易阅读,并且可以边读边计算,而阅读嵌套的 DATEADD 则比较困难。