web-dev-qa-db-ja.com

グループの合計のみを合計する方法は?

グループ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))
11
Whistler

SSRS 2008R2を使用しているため、そのバージョンで追加された集約機能の集約を使用できます。

あなたは正しい軌道に乗っていました。式にScope値を追加するだけです。

私はあなたのデータのバージョンを使用しており、簡単なTablixを作成しました:

enter image description here

enter image description here

Lineというグループを作成したことに注意してください。

SumHourTarget列のMaxを取得するには、次の式を使用します。

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

これにより、各LineグループのMaxが算出され、これらのSumが取得されます。

これで、必要な値が得られました。

enter image description here

SSRS 2008R2より前は、これを行う簡単な方法はありませんでした。通常、レポートに表示するために、事前に集計された値を持つ追加の列をDataSetに追加します。

23
Ian Preston

( Sum(CDbl(Fields!Field_1.Value)) 取り組んでいます 。

Image

1
Ayomi Nisansala