2017-07-27 16 views
0

グループ化されたレコードの合計を表示しようとしています。あなたはトップグループのために1651年の合計を見ることができるように、私はReport Properties -> CodeSSRSグループ別合計を表示

Dim public totalBalance as Integer 
Dim public Cnt as Integer 
Public Function AddTotal(ByVal balance AS Integer) AS Integer 
       totalBalance = totalBalance + balance 
Cnt=Cnt+1 
       return balance 

End Function 

Public Function GetTotal() 
       return totalBalance 
End Function 


[Expression A is =Code.AddTotal(sum(DateDiff(dateinterval.Second, Lookup(Fields!dg_InteractionId.Value, Fields!Id.Value, Fields!StartDate.Value, "DataSet1"), Lookup(Fields!dg_InteractionId.Value, Fields!Id.Value, Fields!EndDate.Value, "DataSet1")))/CountRows()) 

While Expression B is =Code.GetTotal() 

の下に以下のコードを使用しています は正しいですが、それは一緒に最初のグループの合計を含んように、第2グループの2597年の合計が正しくありません。希望する正しい結果は、2番目のグループの合計で946です。

よろしくお願いします。

screenshot of table rows

screenshot of table numbers

+4

なぜあなたは合計を計算するためのコードを使用して、合計フィールドに式を使用していないような関数せずに直接それらを表示することができ、パブリックとしてあなたの変数を宣言しているため。タイプ= SUM(field_you_want_to_sum.value) – bushell

+0

フィールドが私のテーブルにない場合は、2つの日付フィールドの時間差から計算された合計です。私はグループの合計をもう一度必要とします。 –

+0

コードで、totalBalanceを返す前に、totalBalanceに等しい新しい変数を作成します。次に、totalBlance = 0を設定し、代わりに新しい変数を返します。 – bushell

答えて

0

あなたは、この変更のため、合計

Public Function GetTotal() 
Dim bal AS integer 
    bal = totalBalance 
    totalBalance = 0 
    return bal 
End Function 

グループを表示するために呼び出されたときに、あなたも作成する必要がありtotalBalance変数をリセットするために)(あなたのGetTotalを変更することができますAddTotal()関数で更新される総計の個別の変数であり、その値を返す関数GetGrandTotal()を作成します。また

あなたが=Code.totalBalance