Report Builder 3 中的递归表达式

Recursive expression in Report Builder 3

我在报告中得到了一些数据,按 year/month 分组。 有什么方法可以用递归方式引用上个月的数据吗? 我需要实现这样的公式:

Backlog = last_month_backlog + (sum_of_open – sum_of_close)

其中 last_month_backlog 是上个月的 (sum_of_open – sum_of_close)。 例如

到目前为止我尝试过的是:

=((IIf((Fields!month_number.Value > Month(Fields!close_time.Value) and (Fields!month_number.Value-2) < Month(Fields!close_time.Value)),(sum(Fields!number_of_open_cases.Value) - sum(Fields!number_of_close_cases.Value)),0)) + (sum(Fields!number_of_open_cases.Value) - sum(Fields!number_of_close_cases.Value)))

但它不能正常工作...

所以问题是如何将上个月的数据添加到当前的数据中。 我也在尝试这样的表达:

=IIf(Fields!month_number.Value = Month(DateAdd(DateInterval.Month,-1,Today())) ,sum(Fields!number_of_open_cases.Value) - sum(Fields!number_of_close_cases.Value),0)

仍然不走运...有什么想法可以实现吗?

我认为 运行Value() 是您想要的。 运行 Value 只是保留您定义的一些值的累计总数,所以如果我们告诉它像这样对每个月的积压求和;

=RunningValue(Fields!sum_of_open.Value - Fields!sum_of_close.Value, Sum, "Year")

我假设 "Year" 是按年分组的行组的名称,否则您需要更改它。

编辑以反映评论轨迹。