Foxtable(狐表)用户栏目专家坐堂 → 行列转换及交叉统计


  共有3446人关注过本帖树形打印复制链接

主题:行列转换及交叉统计

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17558 威望:0 精华:0 注册:2014/7/29 19:09:00
行列转换及交叉统计  发帖心情 Post By:2019/6/26 17:37:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:行列转换.jpg
图片点击可在新窗口打开查看

上面的表的数据要显示为下方的样式,是不是必须先把行转换为列后再进行交叉统计?

谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/26 17:44:00 [只看该作者]

你可以自己控制生成交叉统计表

 

http://www.foxtable.com/webhelp/topics/2394.htm

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17558 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By: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楼那样的标题显示,红色的部份要如何写?
谢谢!




 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/26 21:45:00 [只看该作者]

dtb.AddDef(format(cdate(prd), "yyyy年_MM月_dd日"), Gettype(Double))

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17558 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By: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"这样了,不对?
谢谢!



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/28 21:48:00 [只看该作者]

遍历统计表的列,把列名和列标题放到字典中,以列标题做键。需要的时候根据列标题得到对应的列名

 回到顶部
帅哥哟,离线,有人找我吗?
蓝色海洋2
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:93 积分:1503 威望:0 精华:0 注册:2015/11/18 22:18:00
  发帖心情 Post By:2020/1/16 14:14:00 [只看该作者]

我的经验,先输出为wps表格,在wps表格中复制要行列转换的内容,然后在需要横排显示的地方点击鼠标右键,选择“选择性粘贴”勾选“转置”确定。

 回到顶部