Foxtable(狐表)用户栏目专家坐堂 → [求助]交叉统计


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

主题:[求助]交叉统计

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6806 威望:0 精华:1 注册:2012/8/7 22:03:00
[求助]交叉统计  发帖心情 Post By:2012/9/7 19:57:00 [显示全部帖子]

交叉统计生成的垂直分组列怎么让他降序排序啊??


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6806 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2012/9/7 20:29:00 [显示全部帖子]

发错了

[此贴子已经被作者于2012-9-7 20:35:48编辑过]

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6806 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2012/9/8 18:46:00 [显示全部帖子]

以下是引用czy在2012-9-7 21:17:00的发言:

个人觉得这种排序还是不要去排,否则越排越乱。

交叉统计生成后的表,如果真要排序应该考虑分组列、合计列,如果有多个统计列还得考虑,否则结果是分组列和合计列不知跑到什么地方去,统计列会挤堆出现。

EXCEL里面的数据透视表也可以做交叉统计,它有个办法就是把垂直分组的那一列降序排序,不知道狐表是怎么弄的


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6806 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2012/9/9 13:34:00 [显示全部帖子]

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("客户", Gettype(String), 16)
dtb.AddDef("合金", Gettype(String), 16)
dtb.AddDef("坯料规格", Gettype(String), 30)
dtb.AddDef("生产批号", Gettype(String), 30)
dtb.AddDef("总数", Gettype(Integer))
dtb.AddDef("当前规格_7", Gettype(Integer),"","7.0")
dtb.AddDef("当前规格_4", Gettype(Integer),"","4.0")
dtb.AddDef("当前规格_18", Gettype(Integer),"","1.8")
dtb.AddDef("当前规格_18Q", Gettype(Integer),"","1.8已切")
dtb.AddDef("当前规格_1", Gettype(Integer),"","1.0")
dtb.AddDef("当前规格_05", Gettype(Integer),"","0.5")
dtb.AddDef("当前规格_03", Gettype(Integer),"","0.3")
dtb.Build()
For Each nm() As String In DataTables("坯料跟踪表").GetUniqueValues("","客户","合金","坯料规格","生产批号")
    Dim dr As DataRow = DataTables("统计").AddNew()
    dr("客户") = nm(0)
    dr("合金") = nm(1)
    dr("坯料规格") = nm(2)
    dr("生产批号") = nm(3)
    dr("当前规格_7") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = '" & nm(0) & "' And [合金] = '" & nm(1) & "' And [坯料规格] = '" & nm(2) & "' And [生产批号] = '" & nm(3) & "' And [当前规格] = '7.0'")
    dr("当前规格_4") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = '" & nm(0) & "' And [合金] = '" & nm(1) & "' And [坯料规格] = '" & nm(2) & "' And [生产批号] = '" & nm(3) & "' And [当前规格] = '4.0'")
    dr("当前规格_18") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = '" & nm(0) & "' And [合金] = '" & nm(1) & "' And [坯料规格] = '" & nm(2) & "' And [生产批号] = '" & nm(3) & "' And [当前规格] = '1.8'")
    dr("当前规格_18Q") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = '" & nm(0) & "' And [合金] = '" & nm(1) & "' And [坯料规格] = '" & nm(2) & "' And [生产批号] = '" & nm(3) & "' And [当前规格] = '1.8Q'")
    dr("当前规格_1") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = '" & nm(0) & "' And [合金] = '" & nm(1) & "' And [坯料规格] = '" & nm(2) & "' And [生产批号] = '" & nm(3) & "' And [当前规格] = '1.0'")
    dr("当前规格_05") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = '" & nm(0) & "' And [合金] = '" & nm(1) & "' And [坯料规格] = '" & nm(2) & "' And [生产批号] = '" & nm(3) & "' And [当前规格] = '0.5'")
    dr("当前规格_03") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = '" & nm(0) & "' And [合金] = '" & nm(1) & "' And [坯料规格] = '" & nm(2) & "' And [生产批号] = '" & nm(3) & "' And [当前规格] = '0.3'")
    dr("总数") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = '" & nm(0) & "' And [合金] = '" & nm(1) & "' And [坯料规格] = '" & nm(2) & "' And [生产批号] = '" & nm(3) & "'")
Next
MainTable= Tables("统计")

 

 

做出来好多零怎么去掉??


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6806 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2012/9/9 13:45:00 [显示全部帖子]

狐表代码计算出来的空结果总是带零,烦死了,强烈建议默认把零去掉
[此贴子已经被作者于2012-9-9 13:45:28编辑过]

 回到顶部