Foxtable(狐表)用户栏目专家坐堂 → [求助]汇总行单价的计算问题,请教高手!


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

主题:[求助]汇总行单价的计算问题,请教高手!

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


加好友 发短信
等级:婴狐 帖子:23 积分:338 威望:0 精华:0 注册:2008/11/15 8:21:00
[求助]汇总行单价的计算问题,请教高手!  发帖心情 Post By:2009/8/21 12:04:00 [只看该作者]

如图所示的汇总,在汇总行需要显示单价,有解决的方法吗?

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

下图所示的金额及数量都是用的累计值,但单价用累计值显然是不正确确的

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

在Excel中的情况:

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

测试Table
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:汇总的问题.rar

[此贴子已经被作者于2009-8-21 12:04:52编辑过]

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


加好友 发短信
等级:婴狐 帖子:23 积分:338 威望:0 精华:0 注册:2008/11/15 8:21:00
  发帖心情 Post By:2009/8/21 12:20:00 [只看该作者]

我尝试用Excel报表来实现汇总,结果发现Excel报表的汇总行(分组尾)也不能实现同一行数据间的计算。

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


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

我不明白,单价不同,显示那个好?

你可以看看开发篇中的Excel报表,里头提供了方法,可以向任意单元格写入值

 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/21 12:49:00 [只看该作者]

加一个平均值的行
Dim t As Table = Tables("库存")
Dim g As SubtotalGroup
Dim g1 As SubtotalGroup

t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "产品"
g.TotalOn = "数量,金额"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)
g1 = New SubtotalGroup
g1.Aggregate = AggregateEnum.Average
g1.GroupOn = "产品"
g1.TotalOn = "单价"
g1.Caption = "{0} 平均"
t.SubtotalGroups.Add(g1)

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "数量,金额"
g.Caption = "总计"
t.SubtotalGroups.Add(g)

t.Subtotal()


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/8/21 12:51:00 [只看该作者]

以下是引用狐狸爸爸在2009-8-21 12:43:00的发言:
我不明白,单价不同,显示那个好?
汇总行的单价,应该等于 汇总行的金额 ÷ 汇总行的数量   很多情况下都是这样的。 所以设置汇总时应该有一个是否计算汇总行的平均单价选项~  

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


加好友 发短信
等级:婴狐 帖子:23 积分:338 威望:0 精华:0 注册:2008/11/15 8:21:00
直接取平均值是不对的。  发帖心情 Post By:2009/8/21 13:17:00 [只看该作者]

直接取平均值是不对的,因为每一次的数量并不一样,即“权重”不一样。应该是加权平均值。
我的想法是,新增一列,专用于贮存其对总的单价的“贡献”,公式为“ [金额] / Sum([数量]) ”,汇总时只需要对此列直接取累计值就可以了。
    这样会带来两个新的问题: 1是格式不好看;2是当需要多组分组时,就需要对应设置多个“贡献列”来存贮其在各自分组中的贡献度。

图片点击可在新窗口打开查看此主题相关图片如下:04.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2009-8-21 13:28:18编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/8/21 13:19:00 [只看该作者]

以下是引用yangming在2009-8-21 12:49:00的发言:

加一个平均值的行

只是生成的汇总表不够简洁,多了一行专门对单价的汇总行了···· ,呵呵~   但生成excel报表时应该何以并到汇总行里吧?~


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/8/21 13:25:00 [只看该作者]

以下是引用smartem在2009-8-21 13:17:00的发言:
直接取平均值是不对的,因为每一次的数量并不一样,即“权重”不一样。应该是加权平均值。
我的想法是,新增一列,专用于贮存其对总的单价的“贡献”,公式为“ 金额 / SUM(数量)”,汇总时只需要对此列直接取累计值就可以了。

甩开系统给的汇总模式吧,全部直接用代码自己做好了~


 回到顶部
美女呀,离线,留言给我吧!
yangming
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/21 13:33:00 [只看该作者]

这样,只是做一个汇总行
Dim r As Row = CurrentTable.Rows.AddNew()
r("产品")="总计"
r("数量")=CurrentTable.Compute("Sum(数量)")
 r("单价") =CurrentTable.Compute("Sum(单价)")/CurrentTable.Compute("Count(单价)")
MessageBox.Show(CurrentTable.Compute("Count(单价)"))

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


加好友 发短信 好心情 一级勋章
等级:超级版主 帖子:715 积分:5564 威望:0 精华:1 注册:2008/8/31 20:45:00
  发帖心情 Post By:2009/8/21 13:39:00 [只看该作者]

以下是引用yangming在2009-8-21 13:33:00的发言:
这样,只是做一个汇总行
Dim r As Row = CurrentTable.Rows.AddNew()
r("产品")="总计"
r("数量")=CurrentTable.Compute("Sum(数量)")
 r("单价") =CurrentTable.Compute("Sum(单价)")/CurrentTable.Compute("Count(单价)")
MessageBox.Show(CurrentTable.Compute("Count(单价)"))

不是这么简单的


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