以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]截止统计问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49438) |
-- 作者:有点甜 -- 发布时间:2014/4/17 21:20:00 -- 代码应该没有错,统计的两列,数据都是一样? |
-- 作者:有点甜 -- 发布时间:2014/4/17 21:31:00 -- 测试了一下,截至统计好像只能针对 日期 分组,不能再加上产品名称了。比如代码这样写
Dim g As New GroupTableBuilder("统计表1", DataTables("销售信息"))
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Totals.AddDef("数量")
g.Totals.AddDef("数量", "截止", True)
g.Build()
MainTable = Tables("统计表1")
|
-- 作者:有点甜 -- 发布时间:2014/4/17 21:39:00 -- 楼主,如果你要针对 产品 进行截止的统计,看来是得在统计表生成以后,再用代码处理一下了。 |
-- 作者:有点甜 -- 发布时间:2014/4/17 22:11:00 -- 上传个例子。 |
-- 作者:Bin -- 发布时间:2014/4/18 9:25:00 -- 你这个跨年了,按月的话.不同年份的月怎么办? 如果按年月分组,不能正常统计.
|
-- 作者:Bin -- 发布时间:2014/4/18 9:32:00 -- 设置分组统计,点击查看代码即可 Dim g As New GroupTableBuilder("统计表1", DataTables("表A")) g.Groups.AddDef("日期", DateGroupEnum.Year, "年") g.Groups.AddDef("产品名称") g.Totals.AddDef("数量",True) g.Build() MainTable = Tables("统计表1") |
-- 作者:有点甜 -- 发布时间:2014/4/18 9:47:00 -- 你的需求,用下面的代码就可以了。
Dim g As New GroupTableBuilder("统计表1", DataTables("表A")) For Each r As Row In Tables("统计表1") MainTable = Tables("统计表1") |
-- 作者:don -- 发布时间:2014/4/18 18:13:00 -- 應該這樣: Dim g As New GroupTableBuilder("统计表1", DataTables("表A")) g.Groups.AddDef("日期", DateGroupEnum.Year, "年") g.Groups.AddDef("日期", "月") g.Groups.AddDef("产品名称") g.Totals.AddDef("数量") g.Totals.AddDef("数量","截止",True) g.Build() Dim drs As List(of DataRow) drs = DataTables("统计表1").Select("产品名称 > \'\'") drs(0)("截止") = drs(0)("数量") For n1 As Integer = 1 To drs.count-1 If drs(n1)("产品名称") = drs(n1-1)("产品名称") Then drs(n1)("截止") = drs(n1-1)("截止") + drs(n1)("数量") Else drs(n1)("截止") = drs(n1)("数量") End If Next MainTable = Tables("统计表1") |