SSRS在表达式字段上得到总和

时间:2018-05-07 15:20:25

标签: reporting-services ssrs-tablix

假设我有以下数据:

TimeTable
Person  Week   Date        EnterTime ExitTime PeriodDiff
----------------------------------------------------
John    1      01.01.2018  09:15     10:35    1:20
John    1      01.01.2018  10:55     12:23    1:28
John    1      01.01.2018  13:00     17:35    4:35
John    1      02.01.2018  09:00     16:35    7:35
John    2      08.01.2018  09:05     11:40    2:35
John    2      08.01.2018  16:15     19:35    3:20
John    2      09.01.2018  10:50     21:57    11:07

我正在尝试报告人们在公司的每周和每日时间。 所以我想创建以下报告:

                 +[WeekGroup]                                                  +
                 ---------------------------------------------------------------
                                +[DateGroup]                                   +
                 WeeklyTotal    ------------------------------------------------
Person                          FirstEntry     LastExit      TimeInside   Period
[PersonGroup]    <<Exp3>>       Min[EnterTime] Max[ExitTime] <<Exp1>>     <<Exp2>>   

Exp1 = Max(ExitTime) - Min(EnterTime)
Exp2 = Sum(PeriodDiff)
Exp3应为每天的Sum(Max(ExitTime) - Min(EnterTime))

除Exp3外,一切正常 问题是Exp3在DateGroup之外,因此min / max值指的是受尊重周中的每一个。由于时间的不同,我也不能使用期间的总和 我怎样才能得到每周计算时间差异的总和?含义总和(Exp1)?

1 个答案:

答案 0 :(得分:0)

如果将范围添加到聚合函数,则可以使用以下表达式在组内或组外获取Max()Min()

'Returns the max of the whole DataSet
=Min(Fields!ExitTime.Value), "YourDataSetName") 

 'Returns the max of the group with the name 'YourGroupName'
=Min(Fields!ExitTime.Value), "YourGroupName")

您还可以做的是使用以下表达式来尊重您的第一个表达式Expr1()(假设第一个表达式位于Textbox1中)

=Sum(ReportItems!Textbox1.Value)