在 SSRS 报告中使用 AVG

Use AVG in SSRS report

我有一个名为 Flights hours 的字段,值为:

飞行时间:
44+33 77+34 69+20 64+36 81+10 81+19 85+34​​

我需要这些值的 AVG。值显示小时+分钟 任何人都可以帮忙吗?

如果这些值出现在数据集中的特定字段中,每个都作为单独的记录(根据我的评论),那么我会使用如下表达式:

=CStr(Floor(Avg((CInt(Left(Fields!FlightHours.Value,InStr(Fields!FlightHours.Value,"+")-1))*60) + CInt(Right(Fields!FlightHours.Value,Len(Fields!FlightHours.Value)-InStr(Fields!FlightHours.Value,"+"))))/60)) & "+" & CStr(Round(Avg((CInt(Left(Fields!FlightHours.Value,InStr(Fields!FlightHours.Value,"+")-1))*60) + CInt(Right(Fields!FlightHours.Value,Len(Fields!FlightHours.Value)-InStr(Fields!FlightHours.Value,"+")))) Mod 60))

这会采用您的原始值(即 44+33)并分别拆分小时和分钟(根据 + 字符的位置,将它们转换为数字整数值,然后乘以小时乘以 60 并与分钟相加以获得总分钟数。然后我们在反转过程之前对整个数据集的这些值进行平均,将平均分钟值拆分为其组成小时和分钟,然后重新格式化为字符串中的字符串根据原始值形成 [h]h+[m]m

对于您的样本数据,这给出了 72+1 的结果,我认为这是正确的。