以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求教老师---关于日期和统计的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107608)

--  作者:sgkyzfh
--  发布时间:2017/10/4 12:15:00
--  求教老师---关于日期和统计的问题
谢谢??
--  作者:sgkyzfh
--  发布时间:2017/10/4 12:40:00
--  
是这样的老师,向你问一声节日好。其次有这样的一个问题我想请教你,我有一个表A(列有:物料号码、日期、平均耗量。说明:物料号码有重复)。还有一个表B(列有:物料号码、平均耗用量。说明这个表中的物料号码是唯一的)我的想法是:通过A表对同一种物料号的耗用数量进行求和(数据 有重复),然后对该物料的所有记录进行查找(查出最早日期和最后日期)最后计算两个记录日期的天数,最后用耗用量除以日期间隔天数在乘以30得出一个月耗用数量。最终将平均耗量送人表B里的平均耗量里,请帮忙
--  作者:有点蓝
--  发布时间:2017/10/4 14:12:00
--  
最大最小日期查找参考:http://www.foxtable.com/webhelp/scr/0393.htm


统计的自动更新参考:http://www.foxtable.com/webhelp/scr/1472.htm

--  作者:sgkyzfh
--  发布时间:2017/10/4 14:52:00
--  
老师:获得最小时间和最大时间,没有看明白,您再给讲一讲好吗
--  作者:有点蓝
--  发布时间:2017/10/4 14:58:00
--  
Expression: 要计算的表达式,使用聚合函数进行统计。

例如取最大值

Dim maxdate As Date = DataTables("订单").Compute("Max([日期])", "雇员 = \'EP01\' And 数量 > 500")

--  作者:sgkyzfh
--  发布时间:2017/10/4 21:21:00
--  
老师我实在不会了,怎么也弄不出来,我上传了数据表,你帮着弄一吧。就是在AA表里的数据查找出最大日期和最小日期,然后放到BB表里去。
--  作者:sgkyzfh
--  发布时间:2017/10/4 21:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目9.table


--  作者:y2287958
--  发布时间:2017/10/4 21:42:00
--  
Dim lst As new List(of String)
lst = DataTables("AA").GetValues("日期","物料号码=\'212\'")
Output.Show("最早日期:" & lst(lst.Count - 1))
Output.Show("最晚日期:" & lst(0))

--  作者:sgkyzfh
--  发布时间:2017/10/5 7:52:00
--  
老师,节后好!
如果我求表AA表里的每个物料号码的最早日期和最晚日期,求出后在BB表里显示,怎么做,请您细一点指导。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目9.table

[此贴子已经被作者于2017/10/5 7:53:24编辑过]

--  作者:有点蓝
--  发布时间:2017/10/5 8:59:00
--  
If e.DataCol.Name = "物料号码" Then
    If e.DataRow.IsNull("物料号码") Then
        e.DataRow("最早日期") = Nothing
        e.DataRow("最晚日期") = Nothing
    Else
        e.DataRow("最早日期") = DataTables("AA").Compute("min(日期)","物料号码=\'" & e.DataRow("物料号码") & "\'")
        e.DataRow("最晚日期") = DataTables("AA").Compute("max(日期)","物料号码=\'" & e.DataRow("物料号码") & "\'")
    End If
End If


最后重置BB表号码列