以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请教一个交叉统计的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109152) |
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:狐说八道 -- 发布时间:2017/11/5 22:30:00 -- [求助]请教一个交叉统计的问题
各位老师,我有一张表如表一,用交叉统计可以统计出如表二这种样式?或者有什么其他的方法可以做到的??
请老师指教,先谢谢了 [此贴子已经被作者于2017/11/5 22:31:36编辑过]
|
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点甜 -- 发布时间:2017/11/5 23:23:00 -- 需要添加辅助列【产品分类】【产品材质】,把你产品名称的值,分拆出来填充进去,才能交叉统计。 |
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:y2287958 -- 发布时间:2017/11/5 23:32:00 -- Dim bm As String = "表二" Dim b As New SQLCrossTableBuilder(bm,"表一") b.HGroups.AddExp("分类", "Right(产品名称,1)") b.VGroups.AddExp("项目", "left(产品名称,len(产品名称) - 1)") b.Totals.AddDef("需求数量") b.VerticalTotal = True b.Build MainTable = Tables(bm)
|
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:狐说八道 -- 发布时间:2017/11/6 8:28:00 -- 以下是引用y2287958在2017/11/5 23:32:00的发言:
b.HGroups.AddExp("分类", "Right(产品名称,1)") b.VGroups.AddExp("项目", "left(产品名称,len(产品名称) - 1)") 请问y2287958 老师,我的表都没有 “分类”,“项目” 这两列,怎么用这两列来统计呢??
|
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点甜 -- 发布时间:2017/11/6 8:38:00 -- 直接运行3楼代码即可。
根据产品名称得到对应的值。截取最后一个字符作为一个列,截取前面的字符作为一个列。
具体要看你具体的逻辑 |
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:狐说八道 -- 发布时间:2017/11/6 8:47:00 -- 代码运行到 b.VerticalTotal = True 提示“未将对象设置引用到对象实例” 然后我把 b.VerticalTotal = True 这句注释掉 到了 b.Build 依然提示“未将对象设置引用到对象实例”
|
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点甜 -- 发布时间:2017/11/6 10:12:00 -- 我测试了一下,代码没问题,请上传具体实例说明。 |
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:狐说八道 -- 发布时间:2017/11/6 10:27:00 --
|
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:y2287958 -- 发布时间:2017/11/6 11:45:00 -- 以下是引用狐说八道在2017/11/6 10:27:00的发言:
用SQLCrossTableBuilder
|
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:狐说八道 -- 发布时间:2017/11/6 11:59:00 -- 需求数量 --整数型 为什么会提示“标准表达式中数据类型不匹配”??
|