SSRS - 小组表达总计的总计

时间:2012-10-12 00:18:14

标签: sql-server-2008 reporting-services

我的小组总计是一个表达式,它从数据集" dataset1的组[Hours1]的第一个[Hours1]值中减去最后一个[EquipmentName1]值。

我需要一个总计每个设备的组表达式总计

我无法使用相同的公式从数据集的第一个[Hours1]值减去最后[Hours1]值" dataset1"因为

如果我有2件设备,比如说设备1和设备2:

Equipment1 last [Hours1] = 10000 and first [Hours1] = 9500
Equipment2 last [Hours1] = 10500 and first [Hours1] = 10000

如果我使用从数据集[Hours1]的第一个[Hours1]值中减去最后"dataset1"值的公式,公式将为10500 - 9500

但是,我想:

(10000 - 9500) + (10500 - 10000) = Grand Total

以下是尝试绘制我的部分内容

|_[Hours1]_|  =  Fields!Hours1.Value    
(e.g. 9500)

|___Expr___|  =  Last(Fields!Hours1.Value) - First(Fields!Hours1.Value) 
(e.g. 10000 - 9500 = 500)

|__________|  =  I need to total the value of Expr for all pieces of equipment

1 个答案:

答案 0 :(得分:0)

您需要使用一些自定义代码来实现这一目标。

转到Report -> Report Properties -> Code并输入

Dim grandTotal As Integer;
Function AccumulateTotal(value as Integer)
    grandTotal = grandTotal + value
    return value
End Function

Function GetTotal()
    return grandTotal
End Function

然后在文本框中,您需要调用累积函数

=Code.AccumulateTotal(Last(Fields!Hours1.Value) - First(Fields!Hours1.Value))

在Grand Total文本框中,您可以调用get total函数

=Code.GetTotal()