Foxtable(狐表)用户栏目专家坐堂 → 跨表数据统计


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

主题:跨表数据统计

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/22 11:35:00 [显示全部帖子]

玩不转代码,就用表达式,看看下面的内容:

 

有条件统计子表数据

 

首先必须说明的是,通过聚合函数统计子表数据,只能是无条件的。
但是实际应用的时候,有条件的统计是非常普遍的,怎样才能实现条件统计呢?
下面用一个简单的例子来说明。

假定有产品和订单两个表:

 

图片点击可在新窗口打开查看

 

图片点击可在新窗口打开查看

 

这两个表通过产品编号建立了关联,假定关联的名称是"po",现在要求产品表能够自动统计出总销量、总销售额、已收款金额、未收款金额。
显然,按照常规的方法,是没有办法统计已收款金额和未收款金额的,但是我们可以绕个弯,在订单表增加一个表达式列,名称为“已付款金额”,将其表达式设置为:

 

IIF([已付款] = True,[金额],Null)

 


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

 

现在可以设置产品表中各列的表达式了:

 

列名 表达式
总销量 Sum(Child(po).数量)
总销售额 Sum(Child(po).金额)
已收款金额 Sum(Child(po).已付款金额)
未收款金额 [总销售额] - [已收款金额]

 


[此贴子已经被作者于2012-2-22 11:35:18编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/22 13:33:00 [显示全部帖子]

二楼的例子,帮助根本没有,你看仔细点。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/22 21:22:00 [显示全部帖子]

多次付款的话,更加自然了:

  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关联表的数据引用和统计.table


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/23 7:58:00 [显示全部帖子]

A表和B表通过客户、产品这两列建立关联,解决方法与2楼、6楼完全一致。

 

你看看:

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目294.table


 回到顶部