我如何总结小时和分钟SSRS 2012?

时间:2014-01-17 01:51:32

标签: reporting-services

我的报告中有一列包含文字值,如:

             01:30
             00:45
             02:15

等等。我如何获得这样的总数?

             04:30 

花费的总时间。我正在尝试这个表达式 -

= FLOOR(Sum(Cint(Left(Fields!est_pack_time.Value,2)), "DataSet1") ) & ":" & RIGHT("0" & (Sum(Cint(Right(Fields!est_pack_time.Value,2)), "DataSet1") MOD 60), 2)

这给了我一些接近但仍然不对的东西。我总结了整个数据集的总时间。

3 个答案:

答案 0 :(得分:2)

你走在正确的轨道上 - 你的表达只是没有将额外的时间从总计时间总计到总时数。

更新的表达式将是这样的:

=Right("0" & Sum(CInt(Left(Fields!est_pack_time.Value,2)), "DataSet1")
    + Floor(Sum(CInt(Right(Fields!est_pack_time.Value,2)), "DataSet1") / 60),2)
  & ":" & Sum(CInt(Right(Fields!est_pack_time.Value,2)), "DataSet1") Mod 60

这是从小时开始计算总数,从总分钟中添加溢出,然后将分钟连接到此字符串。它还用前导零填充小时以确保字符串总是5个字符。

快速测试对我有用:

enter image description here

enter image description here

最后,毋庸置疑,如果可能的话,最好不要以文本格式存储持续时间,但当然在您的情况下这可能是不可能的。

答案 1 :(得分:0)

=split(TimeSpan.FromTicks(Sum(Fields!TotalHours.Value)).TotalHours,".").GetValue(0)  &":"
& Format(TimeSpan.FromTicks(Sum(Fields!TotalHours.Value)).TotalMinutes mod 60,"00")

答案 2 :(得分:-1)

=replace( left(TimeSpan.FromTicks(Sum(Fields!TotalHours.Value)).TotalHours,3)&":"
& right(TimeSpan.FromTicks(Sum(Fields!TotalHours.Value)).TotalHours,3)*60,".","")