8

私はかなり単純な問題だと思うものを持っていますが、私の人生ではそれを行う方法を理解することはできません(SSRS 2008 R2)。詳細データ (集計だけでなく) を表示する必要があるため、Tablix を使用しています。

データ (送料) とジョブ コスト分布の行があります

レポートの(要約)データは次のとおりです。

TrackNo ShipCost NoJobs JobNo Job Cost
T1 10.00 1 J1 10.00
T2 10.00 3 J2 3.33
T2 10.00 3 J3 3.33
T2 10.00 3 J4 3.33

したがって、TrackNo T1 には 1 つのジョブが関連付けられ、TrackNo T2 には 3 つのジョブが関連付けられる場合があります。次に、ジョブ全体でコストを比例配分します。送料が 10 ドルの場合:

  • T1 を追跡しない場合、ジョブ J1 は $10.00 を受け取ります
  • T2 を追跡しない場合、ジョブ J2、J3、および J4 はそれぞれ $3.33 を取得します。

次のようなドリルダウン レポートが必要です。

TrackNo Ship Total No. Jobs Job No Job Total
+ T1 10.00 1
                                                  J1 10.00
+ T2 10.00 2                                                          
                                                  J2 3.33
                                                  J3 3.33
                                                  J4 3.33

私のレポートでは、グループ 1 は追跡していません。グループ 2 (子グループ) はジョブ番号です。

トラック番号
    ジョブ番号

レポートの出荷合計はFirst(Fields!ShipTotal.Value)

レポート全体の ShipTotal を合計したい (ジョブの合計ではありません。丸め誤差があるためです: 例: 3.33 * 3 = 9.99)

グループ 1 ( ) に対して表示された値を合計するにはどうすればよいFirst(Fields!ShipTotal.Value)ですか? 私はScopeが道だと考えていますが、迷っています。

4

1 に答える 1

17

多くの場合、この質問は古いバージョンの SSRS について尋ねられるため、必要な機能をサポートする最新バージョンについて回答することをお勧めします。SSRS 2008R2 では、集計の集計のサポートが導入されました。

レポートの合計ボックスで、式を次のように設定します。

=SUM( MAX(Fields!ShipTotal.Value, "TrackNo"), "DataSetName")

あなたが言及したように、スコープはこれの重要な部分です。上記の式は、SSRS が「TrackNo」グループごとに First ShipTotal を取得し、データセット内のすべての TrackNo グループについてそれらを合計する必要があることを示しています。(もちろん、そこにあるデータセット名を置き換えてください。)

この結果を取得するための他の 2 つの方法は、以前のバージョンの SSRS でも機能します。

  • 埋め込みコードを使用して、集計を追跡します。
  • クエリで計算を実行し、別のデータセットで結果を返すか、各行の新しいフィールドとして返します。
于 2012-11-09T19:11:29.290 に答える