web-dev-qa-db-ja.com

SSRSマトリックスの合計列に基づいて合計列のパーセンテージを計算します

SSRSマトリックスに列を追加しようとしています。これにより、その行の列全体からのパーセンテージがわかります。

次の式を使用していますが、パーセンテージで100%を取得し続けています(これは、合計が最後に評価されるためだと思います。したがって、合計/合計を実行しているだけですか?

=FORMAT((Fields!ID.Value/SUM(Fields!ID.Value)), "P")

フィールドIDは、SSRSではなくSQL内で計算されます。

例えば

Site   |  Value 1  |    %1   |   Value2  |   %2    |   Total
  1    |    20     |   50%   |    20     |   50%   |    40
8
Tom

おそらくこれは、SUM関数の適切なスコープを定義する必要があるために発生しています。

プレーンなSUM(Fields!ID.Value,"group_name")の代わりにSUM(Fields!ID.Value)

更新しました:

初めて回答したときはレポートサービスを利用できなかったため、例を示すのに少し時間がかかりました。

結果とフィールド値を確認できます

enter image description here

enter image description here

19
niktrs

グループの設定に関する詳細情報なしで詳細を提供するのは難しいですが、SUMなどの集計演算子にスコープオプションを使用することを検討する必要があります。

=SUM(Fields!ID.Value, "NameOfRowGrouping") / SUM(Fields!ID.Value, "TopLevelGroupName")

また、物事をきれいに保つために、式からフォーマットを移動して、値を含むプレースホルダープロパティまたはテキストボックスプロパティのいずれかに移動する必要があります。

7
Jamie F