需要计算具有多个行和列分组的ssrs中的百分比差异

时间:2014-04-28 13:28:01

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

我有行和列分组。

我需要每个月的差异和百分比差异,如下所示:

示例:

                 march                diff
             2013      2014  
Hyderabad     12        15              15-12=3

喜欢这个结果我想要的 而且我需要百分比差异----(今年 - 去年)/去年

1 个答案:

答案 0 :(得分:2)

我通常会尝试在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

你的行组将是城市。您的列组1将对MonthID整数进行分组/排序,并显示Month字符串。您的列组2将对YearDiffID整数进行分组/排序,并显示YearDiff字符串。

如果您提供SQL,我可以帮助您将结果集看起来像这样。

如果你坚持在报告中计算这个,而你所拥有的只是城市,日期和价值字段,你的表达式将如下所示:

差异计算,假设您按城市(行)和月份(第1列)进行分组,并且此分析在年份之外(第2列)分组,并为{{1}添加了参数所以这份报告将在未来几年继续发挥作用:@ThisYear

%差异计算,具有上述假设:=sum(iif(Year(Fields!Date.Value) = @ThisYear,Fields!Value.Value,nothing)) - sum(iif(Year(Fields!Date.Value) = @ThisYear-1,Fields!Value.Value,nothing))