Foxtable(狐表)用户栏目专家坐堂 → 求比例请教


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

主题:求比例请教

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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
求比例请教  发帖心情 Post By:2014/12/1 21:02:00 [只看该作者]

甜大师:好!如示例
请问如何比例,且最后比例之和要等于1,前面各项小数保留两位(四舍五入),差放在最后一项(行)的代码?
劳驾帮忙写一下。谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/1 21:11:00 [只看该作者]

Dim sum As Double = Tables("表A").Compute("sum(销量)")
For Each r As Row In Tables("表A").Rows
    r("比例") = Format(r("销量") / sum, "0.00")
Next
sum = Tables("表A").Compute("sum(比例)")
If sum <> 1 Then
    Dim nr As Row = Tables("表A").AddNew()
    nr("比例") = sum - 1
End If

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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2014/12/1 21:27:00 [只看该作者]

谢谢!如果不等于1,您是新增行,我的意思是修改最后一个需计算比例的数据行,或者是修改任何数据行的比例列的值,就是要保证比例和等于1?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/1 21:32:00 [只看该作者]

 Dim sum As Double = Tables("表A").Compute("sum(销量)")
For Each r As Row In Tables("表A").Rows
    r("比例") = Format(r("销量") / sum, "0.00")
Next
sum = Tables("表A").Compute("sum(比例)")
If sum <> 1 Then
    Dim idx As Integer = Rand.Next(Tables("表A").Rows.Count - 1)
    Dim nr As Row = Tables("表A").Rows(idx)
    nr("比例") += 1 - sum
End If

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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2014/12/1 22:01:00 [只看该作者]

谢谢!为何您写的代码简洁精练,我就不行,功夫如何锤炼,有何技巧,介绍一二?

 回到顶部