我通常会尝试在 SQL 中处理此问题并使报告变得愚蠢。在你的情况下,我会让结果集看起来像这样:
City MonthID Month YearDiffID YearDiff Value
--------- ------- ----- ---------- -------- -----
Hyderabad 3 March 2013 2013 12
Hyderabad 3 March 2014 2014 15
Hyderabad 3 March 9998 Diff 3
Hyderabad 3 March 9999 % Diff 0.25
您的行组将是城市。您的 Column Group 1 将对 MonthID 整数进行分组/排序,并显示 Month 字符串。您的 Column Group 2 将对 YearDiffID 整数进行分组/排序,并显示 YearDiff 字符串。
如果您提供 SQL,我可以帮助您将结果集设为如下所示。
如果您坚持在报告中计算这一点,而您只有 City、Date 和 Value 字段,您的表达式将如下所示:
差异计算,假设您按城市(行)和月份(第 1 列)分组,并且此计算在年份(第 2 列)分组之外,并为 @ThisYear 添加了一个参数,所以该报告将在未来几年继续工作:=sum(iif(Year(Fields!Date.Value) = @ThisYear,Fields!Value.Value,nothing)) - sum(iif(Year(Fields!Date.Value) = @ThisYear-1,Fields!Value.Value,nothing))
% Diff 计算,使用上述假设:=(sum(iif(Year(Fields!Date.Value) = @ThisYear,Fields!Value.Value,nothing)) - sum(iif(Year(Fields!Date.Value) = @ThisYear-1,Fields!Value.Value,nothing)))/sum(iif(Year(Fields!Date.Value) = @ThisYear-1,Fields!Value.Value,nothing))