Foxtable(狐表)用户栏目专家坐堂 → 关于交叉统计的问题


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

主题:关于交叉统计的问题

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
关于交叉统计的问题  发帖心情 Post By:2019/8/30 15:30:00 [显示全部帖子]

 老师,
关于交叉统计的代码如下:

Dim sql As String
sql = "S el e ct (sel ec t 客户名称 from {客户汇总} where _Identify = {客户跟进表}.CID) as 客户名称,'bb' as 业务员,时间 as 送货日期 from {客户跟进表} where 录入人 In ('陈达锋') And 报告内容 Is not null And 回复 = 0"
Dim b As New CrossTableBuilder("客户分析",sql, "sjy")
b.HGroups.AddDef("客户名称") '添加客户列用于水平分组
b.HGroups.AddDef("业务员") '添加客户列用于水平分组
b.HGroups.AddDef("送货日期",DateGroupEnum.year,"年份")
b.VGroups.AddDef("送货日期",DateGroupEnum.month,"{0}月")
b.Totals.AddDef("客户名称",AggregateEnum.count,"金额")
b.HorizontalTotal = True
b.Build '生成统计表

这个代码中的sql 语句是没有问题的,生成出来的数据是对的.可是为什么不能生成交叉表.也不报错.但就是没数据.真奇怪.

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/8/30 15:45:00 [显示全部帖子]

 有点蓝老师
    sql 语句测试过肯定没有问题.在执行SQL中能生成表.而且数据都是对的. 系统是以前的历史问题.现在已经在慢慢更改中了.

关键的原因是为什么不能生成交叉表?

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/8/30 15:56:00 [显示全部帖子]

 sql = "S el e ct (sel ec t 客户名称 from {客户汇总} where _Identify = {客户跟进表}.CID) as 客户名称,'bb' as 业务员,时间 as 送货日期 from {客户跟进表} where 录入人 In ('陈达锋') And 报告内容 Is not null And 回复 = 0"

这个就是完整的sql.出来的表如图:


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


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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/8/30 16:21:00 [显示全部帖子]

 试了. 还是一样.

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/8/30 16:22:00 [显示全部帖子]

 不会报错. 就一个空白行. 无内容

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/8/30 16:30:00 [显示全部帖子]

 还发现一个更有趣的问题,代码如下:

 Dim sql As String
sql = "Select 客户名称,业务员,{销售订单主表}.送货日期,Round({销售订单明细}.产品数量*{销售订单明细}.产品销售价,2) as 金额 ..."
Dim b As New CrossTableBuilder("客户分析",sql, sjy)
b.HGroups.AddDef("客户名称") '添加客户列用于水平分组
b.HGroups.AddDef("业务员") '添加客户列用于水平分组
b.HGroups.AddDef("送货日期",DateGroupEnum.year,"年份")
b.VGroups.AddDef("送货日期",DateGroupEnum.month,"{0}月")
b.Totals.AddDef("金额")
b.Decimals = 2
b.HorizontalTotal = True
b.Build '生成统计表

另外一个数据源,sql 语句生成的表也没有问题,都正常. 但是这个交叉统计生成又没有问题.可以生成.怎么会这样 ?



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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/8/30 16:35:00 [显示全部帖子]

 两个表的列都是一样的. 一个表多了一列金额.统计汇总没有问题. 但统计单数就会出现问题

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/8/30 16:42:00 [显示全部帖子]

 上面可以生成的表如果改成:

Dim sql As String
sql = "Select 客户名称,业务员,{销售订单主表}.送货日期,Round({销售订单明细}.产品数量*{销售订单明细}.产品销售价,2) as 金额 ..."
Dim b As New CrossTableBuilder("客户分析",sql, sjy)
b.HGroups.AddDef("客户名称") '添加客户列用于水平分组
b.HGroups.AddDef("业务员") '添加客户列用于水平分组
b.HGroups.AddDef("送货日期",DateGroupEnum.year,"年份")
b.VGroups.AddDef("送货日期",DateGroupEnum.month,"{0}月")
b.Totals.AddDef("客户名称",AggregateEnum.count,"金额")
b.Decimals = 2
b.HorizontalTotal = True
b.Build '生成统计表


也会和上面那个一样,不会报错,但会有一行 空白行. 所以,请确认是不是 bug ? 不能统计 行数,只能统计 合计数.

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/8/30 16:51:00 [显示全部帖子]

 老师

 实例中因为有公司的很多数据,不可能发上来测的.现在我已经基本弄清楚了.

b.Totals.AddDef("客户名称",AggregateEnum.count,"金额")  就不能生成

b.Totals.AddDef("金额")  这样就可以.没有问题.

其它的都没有问题.

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/8/30 17:27:00 [显示全部帖子]

 老师

请看附件,我做成内部表后,就都不可以生成了,但也不报错.麻烦你给看一下是什么问题.多谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip



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