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


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

主题:[求助]交叉表的问题

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


加好友 发短信
等级:婴狐 帖子:67 积分:524 威望:0 精华:0 注册:2016/4/8 18:18:00
[求助]交叉表的问题  发帖心情 Post By:2017/9/14 16:35:00 [只看该作者]

请问,
我想做一个交叉统计表,然后在统计结果里面再指定的列再加插几列,用于核对,
在excel里面是我们之前用excel做的效果。

我想要的效果如下图:

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看



但是交叉统计后的结果如下图:

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

下面是我原来用excel做的
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.xlsx




下面是统计的代码:
Dim g As New CrossTableBuilder("统计表1", DataTables("WorkRecordSec"), "[StyleID]='17-023'")
g.HGroups.AddDef("StyleID")
g.HGroups.AddDef("MakeDate", "月")
g.HGroups.AddDef("MakeDate", DateGroupEnum.Day, "日")
g.VGroups.AddDef("WPID")
g.Totals.AddDef("Qty", "Qty")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Decimals = 0
g.Filter = "[StyleID]='17-023'"
g.FromServer = True
g.Build()
MainTable = Tables("统计表1")

[此贴子已经被作者于2017/9/14 16:39:28编辑过]

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


加好友 发短信
等级:婴狐 帖子:67 积分:524 威望:0 精华:0 注册:2016/4/8 18:18:00
  发帖心情 Post By:2017/9/14 16:41:00 [只看该作者]

表述的可能有点混乱,看看excel的例子清楚些,

exel里面蓝色字体是自动汇总出来的数据,
[此贴子已经被作者于2017/9/14 16:42:18编辑过]

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


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2017/9/14 16:56:00 [只看该作者]

上.table

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


加好友 发短信
等级:婴狐 帖子:67 积分:524 威望:0 精华:0 注册:2016/4/8 18:18:00
回复:(y2287958)上.table  发帖心情 Post By:2017/9/14 17:07:00 [只看该作者]

能指导一下吗?图片点击可在新窗口打开查看

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


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

参考代码

 

Dim g As New CrossTableBuilder("统计表1", DataTables("表C"))
g.HGroups.AddDef("日期",DateGroupEnum.none)
g.VGroups.AddDef("类型")
g.Totals.AddDef("数量")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Build()
Dim t As Table = Tables("统计表1")
For i As Integer = 0 To t.cols.count-1
    If t.cols(i).name.contains("数量_") Then
        Dim x As Integer = t.cols(i).name.split("_")(1)
        Dim dc = t.DataTable.DataCols.Add("添加_" & x, Gettype(Double), "isnull(数量_" & x & ",0)-isnull(数量_1,0)", "小计")
        t.cols(dc.name).Move(i+1)
    End If
Next
For Each r As Row In t.rows
   
next
MainTable = t


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


加好友 发短信
等级:婴狐 帖子:67 积分:524 威望:0 精华:0 注册:2016/4/8 18:18:00
  发帖心情 Post By:2017/9/14 18:28:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

请问,过滤条件这里怎么过滤重复值?

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


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

回复6楼,要写代码

 

http://www.foxtable.com/webhelp/scr/1523.htm

 


 回到顶部