SSRS接下来的6个月基于年和月字段图过滤器

时间:2016-08-24 20:20:52

标签: reporting-services ssrs-2008 ssrs-2008-r2

我使用数据集创建了许多图表。我有一个图表,它应该只是数据的子集。基本上它应该显示基于当前月份的未来6个月的数据。如果我今天运行它,它应该显示2016年8月 - 2017年1月的整个月。

在数据集中,我将返回年份和月份。然而;如何创建过滤功能?我已经尝试过Fields!Month.Value> = Month(Today()),但它错过了2017年1月。 我也尝试过Fields!Year.Value> = Year(Today())AND Fields@Month.Value(Today())。我错过了什么?我是否会在图表属性或类别组(年份和月份)中添加过滤器?

非常感谢帮助。

1 个答案:

答案 0 :(得分:3)

右键单击图表/图表属性,在图表中创建过滤器,然后选择“过滤器”选项卡。使用以下设置添加新过滤器。

enter image description here

在表达中使用:

=CINT(Fields!Year.Value & RIGHT("00" & Fields!Month.Value,2))

如果您的Month字段是1到12之间的整数,表示月份数,并且它不包含前导零。如果你的月份字段包括前导零使用,那么就行了:

=CINT(Cstr(Fields!Year.Value) & Cstr(Fields!Month.Value))

为操作员选择IntegerBetween

在第一个使用值中:

=CINT(CSTR(Today.Year) & RIGHT("00" & CStr(Today.Month), 2))

在第二个值使用中:

=CINT(CSTR(Today.AddMonths(5).Year) & RIGHT("00" & CStr(Today.AddMonths(5).Month), 2))

如果您在本月运行报告,它应该过滤在图表中使用的行,日期在201608和201701之间。

如果有帮助,请告诉我。