Foxtable(狐表)用户栏目专家坐堂 → [求助]交叉统计后 add占比分析 提示无法找到统计表列名


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

主题:[求助]交叉统计后 add占比分析 提示无法找到统计表列名

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


加好友 发短信
等级:婴狐 帖子:18 积分:199 威望:0 精华:0 注册:2016/9/10 13:18:00
[求助]交叉统计后 add占比分析 提示无法找到统计表列名  发帖心情 Post By:2016/9/10 13:27:00 [只看该作者]

Dim g As New  SQLGroupTableBuilder("统计表1","订单明细表")
g.C
g.Groups.AddDef("日期",DateGroupEnum.Year,"年度")
g.Groups.AddDef("日期", "月份")
g.Totals.AddDef("编号", AggregateEnum.Count,"总piao数")
g.Totals.AddExp("订单","case when 是否订购='已订购' then 1 else 0 end","已订购_piao数")
g.Totals.AddExp("日期","case when 是否付款=‘已付款’  then 1 else 0 end","已付款_piao数")
g.VerticalTotal = True
g.SubTotal = True
g.FromServer = True
Tables("订单统计_table1").DataSource = g.BuildDataSource()
Dim nms() As String = {"已订购",“已付款”}
For Each nm As String In nms
DataTables("订单统计_table1").DataCols.Add(nm & "_占比",Gettype(Double),nm & "_piao数/总piao数")
  Tables("订单统计_table1").Cols(nm & "_占比").Move(Tables("订单统计_table1").Cols(nm & "_piao数").Index + 1)
Next

请教一下,上面的代码问题在哪里。。添加列“占比”的时候  nm & "_piao数/总piao数" , 系统提示说 找不到 已订购_piao数,和已付款_piao数,无法统计占比。
[此贴子已经被作者于2016/9/10 13:43:16编辑过]

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


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

第二行是 数据源名称,复制出来发帖就自动没了~~

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

到命令窗口执行一下代码,看生成的统计表的表结构真正的列名是什么

Dim g As New  SQLGroupTableBuilder("统计表1","订单明细表")
g.C
g.Groups.AddDef("日期",DateGroupEnum.Year,"年度")
g.Groups.AddDef("日期", "月份")
g.Totals.AddDef("编号", AggregateEnum.Count,"总piao数")
g.Totals.AddExp("订单","case when 是否订购='已订购' then 1 else 0 end","已订购_piao数")
g.Totals.AddExp("日期","case when 是否付款='已付款'  then 1 else 0 end","已付款_piao数")
g.VerticalTotal = True
g.SubTotal = True
g.FromServer = True
g.Build

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


加好友 发短信
等级:婴狐 帖子:18 积分:199 威望:0 精华:0 注册:2016/9/10 13:18:00
  发帖心情 Post By:2016/9/10 14:30:00 [只看该作者]

老师好,。~~确实显示的就是 已订购_piao数。双层结构的。。。我又新建了一个项目。同样的还是这个错误。

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


加好友 发短信
等级:婴狐 帖子:18 积分:199 威望:0 精华:0 注册:2016/9/10 13:18:00
  发帖心情 Post By:2016/9/10 14:33:00 [只看该作者]

我把Tables("订单统计_table1").Cols(nm & "_占比").Move(Tables("订单统计_table1").Cols(nm & "_piao数").Index + 1) 这个代码注释了。占比列生成了但是没有数据。我把占比列手工拖到_piao数列,2列都可以合并到一起成双层结构的表头。理论上应该名字也是一样的。

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

截图看看统计表的表结构

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


加好友 发短信
等级:婴狐 帖子:18 积分:199 威望:0 精华:0 注册:2016/9/10 13:18:00
  发帖心情 Post By:2016/9/10 14:40:00 [只看该作者]

………………我研究下怎么上次图片的……

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78
一次不行,多传几次

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


加好友 发短信
等级:婴狐 帖子:18 积分:199 威望:0 精华:0 注册:2016/9/10 13:18:00
  发帖心情 Post By:2016/9/10 14:54:00 [只看该作者]

…………浏览器上传不了。打开表属性看到了。。。找到问题了。列名不是“已订购_piao数”
g.Totals.AddExp("订单","case when 是否订购='已订购' then 1 else 0 end","已订购_piao数")
而是统计列的名字。。比如上面的代码:生成的列是 “订单”,列标题 是“已订购_piao数”。。
老师,是否有办法解决?

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


加好友 发短信
等级:婴狐 帖子:18 积分:199 威望:0 精华:0 注册:2016/9/10 13:18:00
  发帖心情 Post By:2016/9/10 14:57:00 [只看该作者]

可以了。。。g.Totals.AddExp("订单","case when 是否订购='已订购' then 1 else 0 end","已订购_piao数")
这个换成g.Totals.AddExp("已订购_piao数","case when 是否订购='已订购' then 1 else 0 end","已订购_piao数")
感谢老师提醒看看表结构啊~~
万分感谢~~
[此贴子已经被作者于2016/9/10 15:03:04编辑过]

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