如何仅对集团总数进行汇总?

时间:2014-02-10 13:01:03

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

我正在尝试只计算组HourTarget总数。

          7:00     8:00    HourTarget    
Line 1    2715     1008      3224
  A       2307     1008      3224 
  B       408        0       3224
Line 2    2308     2432      2656
  A       2308     2432      2656
Line 3    2318     1622      2800
  A       345      1258      2800
  B       762        0       2800
  C       1211     364       2800

由于HourTarget的总和,我试图达到8680。但是我得到17504.这是因为数据库表中的HourTarget是该行上运行的每个产品的记录,但目标与行而不是产品有关。我如何只计算集团总数?

这样的事情不起作用:

=Sum(Max(Fields!HourTarget.Value))

2 个答案:

答案 0 :(得分:21)

由于您使用的是SSRS 2008R2,因此可以使用该版本中添加的聚合功能的聚合。

你走在正确的轨道上;您只需要在表达式中添加范围值。

我正在使用您的数据版本,并构建了一个简单的Tablix:

enter image description here

enter image description here

请注意,我创建了一个名为 Line 的小组。

要获取Sum HourTarget 列的Max,请使用以下表达式:

=Sum(Max(Fields!HourTarget.Value,  "Line"))

这会为每个组提供Max,然后获取这些<{1}}。

现在我们有您所需的价值:

enter image description here

在SSRS 2008R2之前,没有简单的方法可以做到这一点;通常会向DataSet添加一个额外的列,并在报告中显示预聚合值。

答案 1 :(得分:0)

( Sum(CDbl(Fields!Field_1.Value))正在发挥作用。

Image

相关问题