以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]多个统计列交叉查询计算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150536)

--  作者:lgj716330
--  发布时间:2020/6/1 15:01:00
--  [求助]多个统计列交叉查询计算
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目14.foxdb

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


想达到excel表中的结果
但这里的年份和月份以及年份和月份的列数是不确定的,会根据查询条件而变化
还有麻烦将代码贴出来下,软件未升级,打不开新版的


--  作者:有点蓝
--  发布时间:2020/6/1 15:40:00
--  
Dim g As New CrossTableBuilder("统计表1", DataTables("表A"))
g.HGroups.AddDef("部门")
g.HGroups.AddDef("分类")
g.VGroups.AddDef("年份")
g.VGroups.AddDef("月份")
g.Totals.AddDef("费用", "费用")
g.Totals.AddDef("销售", "销售")
g.Build()
MainTable = Tables("统计表1")
Dim idx As Integer = 0
Dim Products As List(Of String()) = DataTables("表A").GetValues("年份|月份")
For i As Integer =0 To Products.Count - 1
    Dim dc As DataCol = DataTables("统计表1").DataCols.Add("费用率" & (i+1),Gettype(Double), "费用_" & (i+1) & "/销售_" & (i+1),Products(i)(0) & "_" & Products(i)(1) & "_费用率")
    dc.SetFormat("0.00%")
    Tables("统计表1").Cols("费用率" & (i+1)).Move(i * 3 + 4)
Next
[此贴子已经被作者于2020/6/1 15:43:44编辑过]