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


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

主题:跨表数据统计

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
跨表数据统计  发帖心情 Post By:2012/2/22 11:29:00 [只看该作者]

狐爸及各位论友们好:

我现有一仓库与发货之间的跨表数据问题,由于编程知识的薄弱,这个问题搞了我好多天,头都大的不行了,现求助大家了,具体见附件。问题都在上传表的最后一列备注里

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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/2/22 12:00:00 [只看该作者]

狐爸老师,首先感谢你的耐心教导!

     对于我来讲,我其实一直都是能用表达式就不会用代码,问题是确实碰到了很多的问题没有办法用表达式解决。

     上面的举例在狐表的帮助里我也看了,在一定程度上,有条件统计确实好用,但是,如果碰到付款付一部分或者说付款分多次付,您不能说没有这样的事情发生吧,就没有了办法,至少我现在没有办法。而我上面给的附件里就有类似的现象。麻烦老师了


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


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

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


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/2/22 20:50:00 [只看该作者]

可能是我看错了,很对不起!

     不过,如果按狐爸的方法处理多次付款的话我确实不知道该怎么办。望狐爸赐教!


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


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

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

  

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


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/2/22 21:56:00 [只看该作者]

狐爸这么晚还没睡呀?!先多谢了,今天下午我夫人病了,陪她去医院,所以现在才答复你,很抱歉

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/2/22 22:07:00 [只看该作者]

狐爸,如果说我真的想要跨表统计数据代码的话其实意思也很简单:

     A表中 符合两个条件(客户,产品)的 总数量=A表中符合两个条件(客户,产品)的 [入数量]总和-B表中符合两个条件(客户,产品)的 [出数量]总和,

并且能实时更新。如果可以的话万望老师帮我写一个代码,也好让我有多一种选择。

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2012/2/23 11:43:00 [只看该作者]

我知道,你教给我的关联我已经会用了,很感谢!

只是希望你用代码帮我解决上述问题,让我多一种选择。


 回到顶部