以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求时间列平均值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=179864)

--  作者:lxmoffice
--  发布时间:2022/9/14 18:15:00
--  求时间列平均值


老师,

您好!
请问是否可以用代码直接求出时间列的平均值吗?如果可以,代码怎样写?


 Dim avg As date = DataTables("订单").Compute("AVG(生产工时)")

--  作者:有点蓝
--  发布时间:2022/9/15 8:47:00
--  
没有办法直接计算。增加一个时间戳列,把时间转换为时间戳,然后根据辅助列计算平均值,再转换回时间值,转换方法参考:

for each r as row in tables("表A").rows
Dim st As New Date(1970,1,1,8,0,0)
r("时间戳") = (cdate(r("时间")) - st).TotalSeconds()
end if

时间戳转换为时间参考;
Dim st As New Date(1970, 1, 1, 8, 0, 0)
Dim sjc As Long = 1663202744
Dim d As Date = st.AddSeconds(sjc)
Output.Show(d)