Foxtable(狐表)用户栏目专家坐堂 → 急,后台交叉统计表达式求助


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

主题:急,后台交叉统计表达式求助

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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
急,后台交叉统计表达式求助  发帖心情 Post By:2010/3/21 13:02:00 [显示全部帖子]

在收费表中有一个窗口,功能是对收费和人员管理中后台数据进行交叉统计,但是我写的代码却发生错误。
以"李四"可用款为例:
正确的数据为:2000-156-(-840)=2684
但是,统计后显示的值为1904,原因可能在这段代码中有问题:g.Totals.AddExp("可用款","[收费金额]-[月扣款]-([收费金额]/[任务])*[上缴]")
这段代码里的[月扣款]应为156,但是却是以936参与计算,即以6*156=936参与了计算,请问如何在表达式中对[月扣款]取平均值参与计算?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:信息管理.rar




另:横向汇总合计后,如何在数字型列“月份”中显示“合计”,当然如果第一列是字符型列,可以自动出现“合计”
[此贴子已经被作者于2010-3-21 13:05:12编辑过]

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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/3/21 22:05:00 [显示全部帖子]

我简化了一下代码为:g.Totals.AddExp("可用款","[月扣款]"),即统计月扣款,“李四”1月份的可用款为936,说明在g.Totals.AddExp("可用款","[收费金额]-[月扣款]-([收费金额]/[任务])*[上缴]")中[月扣款]是以936参与计算导致数据错误,请问如何设置表达式,使[月扣款]等于156参与计算?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:信息管理.rar


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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/3/22 12:43:00 [显示全部帖子]

"表B“有9行数据,每个月每个人都只有一行数据,点击统计窗口按钮(该按钮里有后台数据交叉统计代码),出现”费用核算表“,收入-月扣款=可用款,逻辑关系正确。但是如果在“表B”中把9行数据复制后增加9行再粘贴,保存后,再点击统计按钮,在新的“费用核算表”中,收入-月扣款<>可用款,无法达到我的:收入-月扣款=可用款 要求。其原因是代码:g.Totals.AddExp("可用款","[收入]-[月扣款]")中的[月扣款]=表B中同一个人在同月份内的收入次数*“扣款表”[月扣款]。复制粘贴一次乘以2,再复制粘贴一次就乘以3了。请问如何实现参与计算[月扣款]等于“扣款表”[月扣款]?

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

[此贴子已经被作者于2010-3-22 12:43:47编辑过]

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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/3/22 12:45:00 [显示全部帖子]

4楼说的完全正确,请问如何实现

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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/3/22 13:21:00 [显示全部帖子]

如果任务人数变动,就不好设置"可用款_1"列名,而且代码量会很长,没有SQLCrossTableBuilder简洁,最好是狐爸能让表达式中支持Avg之类函数,直接Avg([月扣款] )参与计算就好。


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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/3/22 13:41:00 [显示全部帖子]

真是不好弄,后面我还有好几列都是一环环地套用前面列的数据来参与计算,用For Next来实现相当于交叉统计代码中“统计”功能无效了,仅仅是帮助我增加了这个列名而已


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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/3/22 13:52:00 [显示全部帖子]

请问mr725,tables("费用核算表").rows(i)("月扣款_1") 怎么写,月扣款_1 无法认定是那一个任务人的月扣款,我要在“人员管理”中查找“李四”或“王五”对应的月扣款不好实现。

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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/3/22 15:14:00 [显示全部帖子]

12楼替代方法勉强可行,但是垂直方向合计即使能实现也繁琐得很,水平方向合计无法实现,显示的值始终是SQLCrossTableBuilder中得到的错误的值,因此不得不舍去两个方向的合计汇总。还是希望狐爸提供一些语法帮忙解决这个问题。

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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/3/22 19:12:00 [显示全部帖子]

mr725,能告诉我 tables("费用核算表").rows(i)("可用款_" & ii & "") = _等于什么吗?不知我俩的代码是否一样

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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/3/22 20:02:00 [显示全部帖子]

??我是说等于号后面的代码是什么?

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