Foxtable(狐表)用户栏目专家坐堂 → [原创]汇总行数值为所有子行的乘积,代码怎么写?


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

主题:[原创]汇总行数值为所有子行的乘积,代码怎么写?

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


加好友 发短信
等级:童狐 帖子:204 积分:1904 威望:0 精华:0 注册:2016/2/17 12:11:00
[原创]汇总行数值为所有子行的乘积,代码怎么写?  发帖心情 Post By:2016/11/16 18:23:00 [只看该作者]

求执行率的。

假设某个产品一共10个工序,一个操作工序一个执行率(百分比表示),汇总行要求得产品的执行率= 10个工序执行率的乘积。请教汇总代码怎么写。


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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/16 18:54:00 [只看该作者]

 上传有数据的具体例子说明问题。

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


加好友 发短信
等级:童狐 帖子:204 积分:1904 威望:0 精华:0 注册:2016/2/17 12:11:00
回复:(有点青) 上传有数据的具体例子说明问题...  发帖心情 Post By:2016/11/17 14:37:00 [只看该作者]

管理项目1中的参考数据,表A增加汇总行,效果如附件“执行率.png”,执行率总计=各工序执行率的乘积,即

66.00% * 99%  * 98% * 90% * 88% * 95% * 94% * 97% =43*93%

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1.foxdb


此主题相关图片如下:执行率.png
按此在新窗口浏览图片

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/17 15:38:00 [只看该作者]

参考代码

 

Dim t As Table = Tables("表A")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.Caption = "汇总率总计"
t.SubtotalGroups.Add(g)

t.Subtotal()

Dim sum As Double = 1
For i As Integer = 0 To t.Rows.Count(True)-1
    Dim r As Row = t.Rows(i, True)
    If r.IsGroup Then
        r("执行率") = sum
    Else
        sum = sum * iif(r.IsNull("执行率"), 1, r("执行率"))
    End If
Next


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


加好友 发短信
等级:童狐 帖子:204 积分:1904 威望:0 精华:0 注册:2016/2/17 12:11:00
回复:(有点青)参考代码 Dim t As Table =...  发帖心情 Post By:2016/11/17 16:59:00 [只看该作者]

完全OK,万分感谢!


 回到顶部