我正在创建一个按月显示效果的报告。我有200101的历史数据。当我创建并预览报告时,所有数据显示从200101到最近一个月。
我想限制最近13个月的月数。
我尝试使用此表达式
=max(Fields!month.Value)-13
这不起作用并显示错误。
答案 0 :(得分:1)
DATEADD()
函数怎么样? (如果我理解你的问题)
=DATEADD(DateInterval.Month,-13,MAX(Fields!Month.Value))
其他选项是在SSRS或SQL中过滤数据。
SSRS过滤器将在TODAY
和DATEADD()
函数(=DATEADD(DateInterval.Month,-13,TODAY)
)之间使用
或者在SQL中过滤:
WHERE Month BETWEEN SELECT DATEADD(MONTH,-13,GETDATE()) AND GETDATE
答案 1 :(得分:0)
理想情况下,你的表达应该是
=max(Fields!month.Value-100-IFF(Fields!month.Value%100>1,1,88))
100表示1年,1表示月份;对于月份如201701的情况,88实际上是100-12,那么你需要你的价值是201512(回溯13个月)
如需更多检查,我们需要检查我们是否有从200101开始的13个月数据
=IFF(Fields!month.Value>200201,max(Fields!month.Value-100-IFF(Fields!month.Value%100>1,1,88)),200101)