0

ストアド プロシージャからプルするレポートがあります。SP の実行には 3 分ほどかかるため、DB にアクセスしてこの情報を複数回取得することは避けたいと考えています。すでにデータセットに含まれているはずですが、これらの割合を取得するにはどうすればよいでしょうか (もしあれば)。

データセットにデータがあり、そのデータに基づいてグラフを表示するので、データセットを直接変更することはできません。現状のすべての情報が必要です。これまでのところ、すべて順調です。ここで、レポートの下部に、特定の週番号のしきい値を超えなかった行と比較して、しきい値を超えた行の数を示す折れ線グラフが必要です。WeekNumber は、既にストアド プロシージャで収集する列です。

私はすでに WeekNumber として設定されたカテゴリ グループを持っているので、X 軸は既にそれに設定されているはずです。ここで、Y 軸を、指定された週の境界を超えた値のパーセンテージに設定する必要があります。

Y 軸の値は次のようになります。

OveragePercent=FormatPercent(
               (SELECT COUNT(0) FROM ThisWeek WHERE DataSet1.Threshold > 50) /
               (SELECT COUNT(0) FROM ThisWeek WHERE DataSet1.Threshold < 50), 2)

ご意見やご提案をいただければ幸いです。

4

2 に答える 2

0

解決策を見つけました。

私の SSRS テーブルでは、DataSet レベルの合計とグループ レベルの合計を使用して合計パーセントを導き出します。このテーブルは MyDataSet を使用し、日付ごとにグループ化されています。Loads.value に基づいて、その日に配送された荷物の数がわかります。次に、以下を使用して、毎週の負荷の割合が最も高い曜日を特定できます。

=Sum(Fields!Loads.Value) / Sum(Fields!Loads.Value, "MyDataSet")

これにより、毎日の全体的なパーセンテージがわかります。

次に、フラグが設定されているかどうかに基づいてデータの一部をフィルター処理する必要がありました (したがって、メインの投稿の理由です)。同じアプローチを使用して、IIF 関数が行レベルでも合計内でも機能することを発見したため、次のようになりました。かなり「明らか」です(当時の私には明らかではありませんでしたが)。

=Sum(IIF(Fields!Option1.value=1,Fields!Loads.Value, 0)) / Sum(Fields!Loads.Value, "MyDataSet")

これにより、その週の同じ負荷の何パーセントがオプション 1 を選択したかがわかります。

この解決策が他の人にも役立つことを願っています。

于 2013-08-06T14:12:51.927 に答える