Foxtable(狐表)用户栏目专家坐堂 → 进行后台交叉统计,统计字段有表达式列,该如何处理啊?


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

主题:进行后台交叉统计,统计字段有表达式列,该如何处理啊?

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


加好友 发短信
等级:小狐 帖子:357 积分:3262 威望:0 精华:0 注册:2017/12/27 14:19:00
进行后台交叉统计,统计字段有表达式列,该如何处理啊?  发帖心情 Post By:2019/8/16 17:12:00 [只看该作者]

绿色阴影为建立的表达式列(由于业务原因,销售日期,金额1 和 金额2列都是表达式列)
怎么通过订单明细表,建立有后台的交叉统计啊?
分组列是:部门(表达式列),销售人员(表达式列),产品名称(表达式列),销售日期(表达式列)  ——分组列都是表达式列
统计列是:金额1(表达式列),金额2(表达式列)     ——统计列都是表达式列          
难道为了后台统计需要,建立表结构时,只能把这些列都从表达式列改成普通列(这样数据库存的冗余数据太多了)吗?有没有其他的解决途径啊(预计数据量比较大,只能进行后台统计)
金额1 和金额2是参考帮助文档建立的表达式列(http://www.foxtable.com/webhelp/topics/2472.htm)。
产品表(父表)
产品编号   产品名称    属性1
PD01       产品1        产品11
PD02       产品2        产品22

订单表(父表)
订单号         部门        销售人员                  
A01          销售1部       S1              
A02          销售1部       S1        
A03          销售1部       S1 
A04          销售1部       S2  
A05          销售1部       S2    
A06          销售2部       S3 
A07          销售2部       S3  
A08          销售2部       S4      

订单明细(子表)
订单号         部门          销售人员        产品编号     产品名称     销售日期             金额1       金额2
A01       销售1部           S1               PD01         产品1        2019-01-01        100         200
……



[此贴子已经被作者于2019/8/16 17:27:35编辑过]

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


加好友 发短信
等级:超级版主 帖子:31530 积分:160690 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/16 17:28:00 [只看该作者]

请上传具体实例测试

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


加好友 发短信
等级:小狐 帖子:357 积分:3262 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/8/16 18:06:00 [只看该作者]

我大概知道怎么实现了,使用SQLCrossTableBuilder。 问题:有一列字符串列, 列名'成交年月' 2019年1月 2020年2月 2020年3月 …… 如何将该列作为分组列进行年份和月份的SQLCrossTableBuilder交叉统计啊?
[此贴子已经被作者于2019/8/16 18:08:19编辑过]

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


加好友 发短信
等级:超级版主 帖子:31530 积分:160690 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/16 20:19:00 [只看该作者]

没有办法的,新增一个日期辅助列,把数据2019年1月转换为日期值,如:2019-1-1

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


加好友 发短信
等级:小狐 帖子:357 积分:3262 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/8/17 6:43:00 [只看该作者]

建立辅助列的意思是,将字符串 2019年01月,取前四位2019,第6和7位01,然后赋值给date变量(2019,01,01),然后date变量赋值给辅助列吗?

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


加好友 发短信
等级:超级版主 帖子:31530 积分:160690 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/17 8:46:00 [只看该作者]

是的

 回到顶部