以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  数据统计的一点小问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185181)

--  作者:reachtone
--  发布时间:2023/2/9 9:42:00
--  数据统计的一点小问题
如果分组列用addexp添加,日期分组列用adddef添加,则日期分组始终排在第一个。
如下面的代码,尽管将“年”分组放到“产品”后面,但生成的统计表却仍然是先“年”后“产品”,得到的完全不是想要的结果:
Dim g As New SQLGroupTableBuilder("统计表1", "订单")
g.C
g.Groups.AddExp("产品", "产品ID")
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Totals.AddDef("数量")
g.Build()
MainTable = Tables("统计表1")

--  作者:有点蓝
--  发布时间:2023/2/9 9:44:00
--  
默认就是这样的,生成统计表后自己使用move方法调整下列顺序即可
--  作者:reachtone
--  发布时间:2023/2/9 10:00:00
--  
以下是引用有点蓝在2023/2/9 9:44:00的发言:
默认就是这样的,生成统计表后自己使用move方法调整下列顺序即可
分组顺序不同,占比数据就完全不对了吧?


--  作者:有点蓝
--  发布时间:2023/2/9 10:03:00
--  
分组和分组列的顺序无关
--  作者:reachtone
--  发布时间:2023/2/9 17:47:00
--  
再反应一个交叉统计的小问题:totals的adddef可以正常执行截止统计,但addexp就无效了:
Dim g As New sqlCrossTableBuilder("统计表1", "订单")
g.C
g.HGroups.AddDef("客户id")
g.VGroups.AddDef("产品id")
g.Totals.AddExp("数量", "数量")
g.Totals.AddExp("累计", "数量", True)
g.Build()
MainTable = Tables("统计表1")
但在分组统计的totals中,用addexp添加截止统计列却能正常。

--  作者:有点蓝
--  发布时间:2023/2/9 20:17:00
--  
已反馈