以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  交叉统计提取数据问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=95855)

--  作者:133198609
--  发布时间:2017/2/7 9:47:00
--  交叉统计提取数据问题
Dim g As New CrossTableBuilder("统计表2", DataTables("订单明细"), "[签约年份] = \'2017\'")
g.HGroups.AddDef("部门")
g.HGroups.AddDef("业务员")
g.HGroups.AddDef("产品类别")
g.HGroups.AddDef("产品名称")
g.VGroups.AddDef("签约日期", "{0}月")
g.Totals.AddDef("数量", "数量")
g.Filter = "[签约年份] = \'2017\'"
g.FromServer = True
g.Build()
MainTable = Tables("统计表2")

通过这个交叉统计得到的分组列的标题虽然是{0}月,但是列的标题却是数量_1,数量_2,数量_3……
问题来了:
当只有1,2,4月的时候,对应的列  数量_1=1月,数量_2=2月,数量_3=4月
当只有3,4,5月的时候,对应的列  数量_1=3月,数量_2=4月,数量_3=5月

在提取3月份数据的时候,就不好提取了,如果判定是哪一列?

--  作者:有点色
--  发布时间:2017/2/7 9:51:00
--  

循环每一列,提取标题来使用。

 

Dim dic As new Dictionary(of String, String)
For Each c As Col In Tables("表A").cols
    dic.Add(c.Caption, c.name)
Next

msgbox(dic("3月"))


--  作者:133198609
--  发布时间:2017/2/7 9:55:00
--  
懂了,谢谢!