我正在制作一份报告,该报告将在每月的1号和每月的16号进行。
如果它在1日运行,我需要@start_date为上个月最后一天的第16天。
如果它在16日运行,我需要@start_date作为该月的第1个月至本月15日。
我可以想到几种方法,但我很好奇SSRS / Report Builder / SQL数据工具构建器有一个简单的方法来设置它。
我的选择是创建一个执行我需要的SQL查询,然后从参数的查询部分将其插入Get Balues。
答案 0 :(得分:3)
如果您在该月的第一部分运行报告,则参数应设置为上个月的第16个月末;如果在该月的第二部分运行,则参数应设置为当前月份的第1天至第15天。
@start_date
默认值表达式:
=IIF(Day(Today) >= 16, DateAdd(DateInterval.Day, 1-Day(Today), Today), DateAdd(DateInterval.Month, -1, (DateAdd(DateInterval.Day, 16-Day(Today), Today))))
@end_date
默认值表达式:
=IIF(Day(Today) >= 16, DateAdd(DateInterval.Day, 15-Day(Today), Today), DateAdd(DateInterval.Day, -1, (DateAdd(DateInterval.Day, 1-Day(Today), Today))))