0

我需要一些帮助来解决 SSRS 中的这个问题,以找到 YTD 列的 YTD(%)。

我有 SSRS 2008 tablix 区域,其中的列是州、类别、一月、二月、三月、...、十二月、年初至今。这些列具有总和和百分比值,具体取决于行。当列为 % 时,我需要帮助来计算 YTD。

例子:

州类别 一月 二月 三月...... 年初至今

MN A 200 200 0...... 400

明尼苏达州 B 21 12 0........ 33

MN A% 12.5 12.5 0........ ??

对于上面的 A、B,YTD 只是简单地添加报告项目 January+February+March+.... 将是 400 和 33,如图所示(假设只有 Jan 和 Feb 的实际值 > 0)。

对于上面的 A% 行(??),因为这是一个百分比列,所以我的 YTD 应该是非空/非零列的平均值......在这种情况下 (12.5+12.5)/2=12.5 但我我无法找出每个类别(1 月、2 月等)的非空列的计数...我尝试了 avg、count、sum 等,但我没有得到正确的值。如果我能算出分母(这将是 1 月、2 月、...、12 月非空列的计数),那么问题将得到解决,我可以这样做:

( Jan+Feb+March+...+Dec)/Count(Jan,Feb,Mar,..,Dec)

计数应该只返回非空/非零列的计数,以便我可以进行平均计算..请帮助。

4

1 回答 1

0

我不确定你想要什么。

如果您只想找出最后一列中一行的平均值,您可以这样做:

使您想要平均的列的表达式如下:

Sum(Fields!Jan.Value + Fields!Feb.Value...+Fields!Dec.Value)/
 Sum(IIF(IsNothing(Fields!Jan.Value),0,1) +
     IIF(IsNothing(Fields!Feb.Value),0,1) +
     .
     .
     IIF(IsNothing(Fields!Dec.Value),0,1) 
  )

所以,在分母中,你正在这样做:

Sum(1+0+1+1+0...+0)

即如果Field不为null则返回1,否则返回0

于 2013-04-11T11:01:40.457 回答