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


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

主题:交叉统计

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


加好友 发短信
等级:三尾狐 帖子:786 积分:7974 威望:0 精华:0 注册:2014/4/21 15:16:00
交叉统计  发帖心情 Post By:2014/6/26 9:25:00 [只看该作者]

各位大神:在做交叉统计时,垂直分组的几列数据要做减法运算,该如何操作啊,谢谢!

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/26 9:28:00 [只看该作者]

增加一个表达式列,设置加减表达式

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


加好友 发短信
等级:三尾狐 帖子:786 积分:7974 威望:0 精华:0 注册:2014/4/21 15:16:00
  发帖心情 Post By:2014/6/26 9:29:00 [只看该作者]

提示找不到列名,到底如何才能引用到它的列名


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


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

以下是引用kaiyu在2014-6-26 9:29:00的发言:

提示找不到列名,到底如何才能引用到它的列名

 

生成以后,列名是不规则的,你需要用判断列标题的方法去判断得到列名。

 

具体,你上传一个例子吧。


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


加好友 发短信
等级:三尾狐 帖子:786 积分:7974 威望:0 精华:0 注册:2014/4/21 15:16:00
  发帖心情 Post By:2014/6/26 9:41:00 [只看该作者]

好的,我试试,谢谢


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


加好友 发短信
等级:三尾狐 帖子:786 积分:7974 威望:0 精华:0 注册:2014/4/21 15:16:00
  发帖心情 Post By:2014/6/26 10:18:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:交叉统计.rar


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/26 10:27:00 [只看该作者]

Dim t As Table = Tables("窗口1_table1")
Dim dt As DataTable = DataTables("a")
Dim b As new  CrossTableBuilder("统计表1",dt)
b.HGroups.AddDef("仓库名称")
b.HGroups.AddDef("一级码")
b.HGroups.AddDef("品名")
b.HGroups.AddDef("规格型号")
b.HGroups.AddDef("单位")
b.VGroups.AddDef("方向")
b.Totals.AddDef("实收数量")
b.Build
t.DataSource  = b.BuildDataSource
Dim nlist As new Dictionary(of String,String)
For Each c As DataCol In t.DataTable.DataCols
    nlist.Add(c.Caption,c.Name)
Next
With t.DataTable.dataCols
  .Add("库存数量",Gettype(Single),"Isnull([" & nlist("入库") & "],0) - IsNULL([" &  nlist("入库") & "],0)")
End With

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


加好友 发短信
等级:三尾狐 帖子:786 积分:7974 威望:0 精华:0 注册:2014/4/21 15:16:00
  发帖心情 Post By:2014/6/26 10:37:00 [只看该作者]

还是不行啊,

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


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

测试了一下,没有问题

 

Dim t As Table = Tables("窗口1_table1")
Dim dt As DataTable = DataTables("a")
Dim b As new  CrossTableBuilder("统计表1",dt)
b.HGroups.AddDef("仓库名称")
b.HGroups.AddDef("一级码")
b.HGroups.AddDef("品名")
b.HGroups.AddDef("规格型号")
b.HGroups.AddDef("单位")
b.VGroups.AddDef("方向")
b.Totals.AddDef("实收数量")
b.Build
t.DataSource  = b.BuildDataSource
Dim nlist As new Dictionary(of String,String)
For Each c As DataCol In t.DataTable.DataCols
    nlist.Add(c.Caption,c.Name)
Next
With t.DataTable.dataCols
  .Add("库存数量",Gettype(Single),"Isnull([" & nlist("入库") & "],0) - IsNULL([" &  nlist("出库") & "],0)")
End With


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


加好友 发短信
等级:三尾狐 帖子:786 积分:7974 威望:0 精华:0 注册:2014/4/21 15:16:00
  发帖心情 Post By:2014/6/26 10:59:00 [只看该作者]

在实例里可以运行,但把它复制到项目中出报错

 

 

NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.5.12.1
错误所在事件:
详细错误信息:
引发类型为“System.OutOfMemoryException”的异常。


 回到顶部
总数 14 1 2 下一页