以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 行列转换及交叉统计 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137028) |
-- 作者:happyft -- 发布时间:2019/6/26 17:37:00 -- 行列转换及交叉统计 此主题相关图片如下:行列转换.jpg 上面的表的数据要显示为下方的样式,是不是必须先把行转换为列后再进行交叉统计? 谢谢!
|
-- 作者:有点甜 -- 发布时间:2019/6/26 17:44:00 -- 你可以自己控制生成交叉统计表
http://www.foxtable.com/webhelp/topics/2394.htm
|
-- 作者:HappyFt -- 发布时间:2019/6/26 19:28:00 -- Dim dtb As New DataTableBuilder("统计") dtb.AddDef("产品", Gettype(String), 16) dtb.AddDef("客户", Gettype(String), 16) Dim prds As List(of String) = DataTables("订单").GetValues("日期") For Each prd As String In prds dtb.AddDef(prd, Gettype(Double)) Next dtb.Build() 当用每一个日期新增列时,,有个问题 上面日期列值显示为2019-01-01 00:00:00, 2019-01-02 00:00:00,2019-01-03 00:00:00 ........ 日期列标题按年,月,周,日像1楼那样的标题显示,红色的部份要如何写? 谢谢! |
-- 作者:有点甜 -- 发布时间:2019/6/26 21:45:00 -- dtb.AddDef(format(cdate(prd), "yyyy年_MM月_dd日"), Gettype(Double)) |
-- 作者:HappyFt -- 发布时间:2019/6/28 21:37:00 -- 此主题相关图片如下:单元格.jpg 交叉统计中用如下代码将日期显示成年月周日的形式了 b.VGroups.AddDef("交货日期",DateGroupEnum.Year,"{0}年") \'添加产品列用于垂直分组,并设置了Pattern参数 b.VGroups.AddDef("交货日期",DateGroupEnum.Month,"{0}月") \'添加产品列用于垂直分组,并设置了Pattern参数 b.VGroups.AddDef("交货日期",DateGroupEnum.Week,"{0}周") \'添加产品列用于垂直分组,并设置了Pattern参数 b.VGroups.AddDef("交货日期",DateGroupEnum.Day,"{0}日") \'添加产品列用于垂直分组,并设置了Pattern参数 b.Totals.AddDef("数量") \'添加数量列用于统计 现在有个问题,当鼠标选中每个单元格后,要根据所选的这一列的实际日期值来提取其他数据,比如上图中的选中列的日期是 2019-06-25 如何得到这个值,也就是当前日期列的值,用colsel显示出来列名是"数量_25"这样了,不对? 谢谢! |
-- 作者:有点蓝 -- 发布时间:2019/6/28 21:48:00 -- 遍历统计表的列,把列名和列标题放到字典中,以列标题做键。需要的时候根据列标题得到对应的列名 |
-- 作者:蓝色海洋2 -- 发布时间:2020/1/16 14:14:00 -- 我的经验,先输出为wps表格,在wps表格中复制要行列转换的内容,然后在需要横排显示的地方点击鼠标右键,选择“选择性粘贴”勾选“转置”确定。 |