以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何在分组、交叉统计中,统计某一产品不重复的雇员数量 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=166118) |
-- 作者:onlinech -- 发布时间:2021/5/19 14:45:00 -- 如何在分组、交叉统计中,统计某一产品不重复的雇员数量 想对订单表中的产品进行分组或交叉统计时,对雇员进行不重复的统计,好某一产品有几个雇员进行了下单 Dim g As New GroupTableBuilder("统计表1", DataTables("订单")) g.Groups.AddDef("产品") g.Totals.AddDef("数量") g.Totals.AddDef("金额") g.Totals.AddDef("雇员", AggregateEnum.Count) g.Build() MainTable = Tables("统计表1") 我的代码只能统计记录数,能否给下代码 [此贴子已经被作者于2021/5/19 14:46:27编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/5/20 8:29:00 -- Dim g As New GroupTableBuilder("统计表1", DataTables("订单")) g.Groups.AddDef("产品") g.Totals.AddDef("数量") g.Totals.AddDef("金额") g.Build() MainTable = Tables("统计表1") DataTables("统计表1").DataCols.Add("雇员",Gettype(Integer)) For Each r As Row In Tables("统计表1").Rows r("雇员") = DataTables("订单").GetValues("雇员","产品=\'" & r("产品") & "\'").count Next |
-- 作者:onlinech -- 发布时间:2021/5/20 11:00:00 -- 在交叉统计中,我的代码如下,但是报错。 Dim g As New CrossTableBuilder("统计表1", DataTables("订单")) g.HGroups.AddDef("产品") g.VGroups.AddDef("客户", "客户_{0}") g.Totals.AddDef("数量", "数量") g.Build() MainTable = Tables("统计表1") DataTables("统计表1").DataCols.Add("客户_雇员数量",Gettype(Integer)) For Each r As Row In Tables("统计表1").Rows r("客户_雇员数量") = DataTables("订单").GetValues("雇员","产品=\'" & r("产品") & "\'" And "客户=\'" & r("客户") & "\'").count Next 我想要的效果如下 能帮我看下哪里错了吗? [此贴子已经被作者于2021/5/20 11:05:40编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/5/20 11:25:00 -- 打开统计表表结构看看就知道了,界面显示的是标题,不是列名,列名不正确:http://www.foxtable.com/webhelp/topics/0193.htm Dim g As New CrossTableBuilder("统计表1", DataTables("订单")) g.HGroups.AddDef("产品") g.VGroups.AddDef("客户", "客户_{0}") g.Totals.AddDef("数量", "数量") g.Totals.AddDef("雇员",AggregateEnum.Count, "雇员") g.Build() MainTable = Tables("统计表1") Dim dict As new Dictionary(of String, String) For Each c As Col In Tables("统计表1").Cols If c.Caption Like "*雇员" Then dict.Add(c.Name,c.Caption.Split("_")(1)) End If Next For Each r As Row In Tables("统计表1").Rows For Each key As String In dict.Keys r(key) = DataTables("订单").GetValues("雇员","产品=\'" & r("产品") & "\' And 客户=\'" & dict(key) & "\'").count Next Next |