2

SQL Server2005 Reporting Service を使用してレポートを作成しています。データセットを提供するストアド プロシージャがあります。

データはレポート内でグループに分割されます。各グループ フッターには、テーブル内のフィールドから計算された平均である関数 (式) があります (この値を X と呼びます)。データの最後に、すべての X 値の合計を含むフッターをレポートに追加したいと考えています。

列内のすべてのフィールドの合計は必要ありませんが、グループ フッター内のすべての計算値の合計が必要であることに注意してください。これならエクセルで簡単に作れます

この問題は単純に思えるかもしれませんが、私は答えを見つけるために戦っています。助けていただければ幸いです、ありがとう。

4

1 に答える 1

0

MS フォーラムを検索し、多くの試行錯誤を繰り返した結果、これがこのバージョンの BIDS の制限であることがわかりました。回避策は次のとおりです。

1) BIDS の新しいバージョンにアップグレードします。現時点ではアップグレードはオプションではないため、問題が新しいバージョンで解決されるかどうかは調査しませんでした。

2) 新しい計算フィールドをデータセットに追加します。私のアプリケーションでは、計算フィールドに集計関数が必要ですが、サポートされていないため、これは機能しませんでした。

3) 最善の解決策は、次のようにレポート プロパティに VB コード関数を追加することでした。

Dim Shared totalBalance
Dim Shared Cnt AS Integer

Public  Function AddTotal(ByVal balance ) 
                totalBalance = totalBalance + balance
                Cnt=Cnt+1
                return balance

End Function

Public Function GetTotal() 
                return totalBalance
End Function   

次に、グループ フッターのコードを次のように参照します。=Code.AddTotal(Avg(Fields!Amount.Value))

そしてレポートフッターから:

=Code.GetTotal()

このソリューションは、グループ フッターではうまく機能しましたが、レポートの最後のレポート フッターでは、変数CnttotalBalanceが 0 にリセットされました。

于 2013-03-12T07:24:50.913 に答える