以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助统计  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=60812)

--  作者:blackzhu
--  发布时间:2014/12/1 16:49:00
--  求助统计
求助:

表A 有五个列 

表A是这样的

第一列      第二列                         第三列                第四列            第五列
A,B        2014-11-10                2014-11-15            6                 120
A,B,C     2014-11-15                2014-11-20           5                130

生成的统计表是这样的:

第一列                         11月
                       10日      11日   12 日  13日  14日 15 日   17日   18日  19日  20日
A,B                  120       120    120    120   120   120
A,B,C                                                               130    130   130   130    130

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:房号计算.foxdb



--  作者:Bin
--  发布时间:2014/12/1 16:54:00
--  
第一列可能出现重复吗?

比如

第一列      第二列                         第三列                第四列            第五列
A,B        2014-11-10                2014-11-15            6                 120
A,B        2014-11-19                2014-11-122           7                 170

--  作者:有点甜
--  发布时间:2014/12/1 17:01:00
--  

1、取第二列、第三列最小值、最大值,循环,生成列;

 

2、循环每一行,查找统计表是否已经有此行数据,如果没有就新增,并把数据数据写入对应的列。


--  作者:Bin
--  发布时间:2014/12/1 17:03:00
--  
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("第一列", Gettype(String), 32)
Dim minDate As Date = DataTables("表A").Compute("min(第二列)")
Dim maxDate As Date = DataTables("表A").Compute("max(第三列)")
For i As Integer = 0  To (maxDate-mindate).TotalDays
dtb.AddDef(format(minDate.AddDays(i),"MM月_dd"), Gettype(Integer))
Next
dtb.Build()
MainTable= Tables("统计")
统计参考帮助的手工编码统计 http://www.foxtable.com/help/topics/0681.htm


--  作者:jianjingmaoyi
--  发布时间:2014/12/1 17:39:00
--  
明白 就是BIN这一步我刚才绕进去了