将上个月和下个月的功能添加到日历报告
Adding Previous and Next Month Functionality to Calendar Report
所以我要做的是根据输入的开始日期和结束日期在 Report Builder 中生成日历报告。基于此,我想使用名为 "Previous Month" 和 "Next Month" 的日历下方的按钮,点击后将根据输入的开始和结束日期转到上个月或下个月的日历。我试过用一个子报告来做这个(报告用新的参数值调用自己),但是在一个按钮点击后退或前进后,它开始按年而不是按月递减或递增。有什么办法吗?我正在尝试让这个之前的 month/next 月份切换像 Micorsoft Outlook 的月视图一样工作。
提前致谢!
根据 MSDN,您在表达式中使用了不正确的语法,这让我想知道它是如何工作的。
你的 DateAdd 应该使用 DateInterval 枚举,我不确定你为什么需要使用 DateSerial,但它的硬编码参数应该用双引号引起来。
在我看来,这个表达式应该可以满足您的需要:
=dateadd(DateInterval.Month,-1,Parameters!start_cymd.Value)
但这是假设,根据您的评论,用户只能选择完整月份的数据,因此 start_cymd 参数将始终是该月的第一天。
获取结束日期比较棘手,因为不同的月份有不同的结束日期。这是同一 MSDN 页面中的示例:
=DateSerial(Year(Parameters!start_cymd.Value), Month(Parameters!start_cymd.Value), "1").AddDays(-1)
这些应该得到上个月的开始和结束日期。反转 math/logic 得到下个月。
所以我要做的是根据输入的开始日期和结束日期在 Report Builder 中生成日历报告。基于此,我想使用名为 "Previous Month" 和 "Next Month" 的日历下方的按钮,点击后将根据输入的开始和结束日期转到上个月或下个月的日历。我试过用一个子报告来做这个(报告用新的参数值调用自己),但是在一个按钮点击后退或前进后,它开始按年而不是按月递减或递增。有什么办法吗?我正在尝试让这个之前的 month/next 月份切换像 Micorsoft Outlook 的月视图一样工作。
提前致谢!
根据 MSDN,您在表达式中使用了不正确的语法,这让我想知道它是如何工作的。
你的 DateAdd 应该使用 DateInterval 枚举,我不确定你为什么需要使用 DateSerial,但它的硬编码参数应该用双引号引起来。
在我看来,这个表达式应该可以满足您的需要:
=dateadd(DateInterval.Month,-1,Parameters!start_cymd.Value)
但这是假设,根据您的评论,用户只能选择完整月份的数据,因此 start_cymd 参数将始终是该月的第一天。
获取结束日期比较棘手,因为不同的月份有不同的结束日期。这是同一 MSDN 页面中的示例:
=DateSerial(Year(Parameters!start_cymd.Value), Month(Parameters!start_cymd.Value), "1").AddDays(-1)
这些应该得到上个月的开始和结束日期。反转 math/logic 得到下个月。