按组分组的SSRS显示总数
问题描述:
我试图显示组合在一起的记录的总数。 我使用下面的代码下Report Properties -> Code
按组分组的SSRS显示总数
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()
,你可以看到总1651的顶级组是正确的,但总的为第二组2597是不正确的,它包括总第一组在一起。所需的正确结果是第二组总数946。
请注意。
答
你可以改变你GetTotal()重置totalBalance变量称为可显示该组总
Public Function GetTotal()
Dim bal AS integer
bal = totalBalance
totalBalance = 0
return bal
End Function
因为这个改变的时候,你还应该创建将在AddTotal()
函数中更新的总计的单独变量,并创建将返回其值的GetGrandTotal()
函数。
此外,由于您已声明的变量为public,你可以你为什么要使用代码来计算总计,而不是使用总场的表现就像=Code.totalBalance
直接显示它们没有的功能。所有你需要做的是键入= SUM(field_you_want_to_sum.value) – bushell
该字段不在我的表中,它是根据两个日期字段的时间差计算的总和。那么我需要再次在总和中的总和。 –
在您的代码中,在返回totalBalance之前,请创建一个等于totalBalance的新变量。然后设置totalBlance = 0并返回新的变量。 – bushell