Foxtable(狐表)用户栏目专家坐堂 → 怎样在table临时插入一列,来统计百分率?


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

主题:怎样在table临时插入一列,来统计百分率?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/6 10:18:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/6 14:20:00 [显示全部帖子]

测试没有问题,例子说话

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/6 20:43:00 [显示全部帖子]

手动格式一下
。。。。。
Tables("窗口1_Table1").DataSource = b11.BuildDataSource()
DataTables("窗口1_Table1").DataCols(3).SetFormat("00.0%")
DataTables("窗口1_Table1").DataCols(5).SetFormat("00.0%")

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/6 23:03:00 [显示全部帖子]

参考:http://www.foxtable.com/webhelp/scr/2305.htm

Tables("窗口1_Table1").DataSource = dt1 '将统计结果绑定到Table
With 
DataTables("窗口1_Table1").DataCols  '用表达式列计算库存数据
    
.Add("库存_数量",Gettype(Integer), "IsNull([进货_数量],0) - ISNULL([销售_数量],0) - ISNULL([退货_数量],0)")
    
.Add("库存_金额",Gettype(Double), "[库存_数量] /[进货_数量] * [进货_金额]"
End With

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/6 23:24:00 [显示全部帖子]

DataTables("窗口1_Table1").DataCols.Add ("完成率", Gettype(Double), "[工单流水号_2] / [合计]")
DataTables("窗口1_Table1").DataCols("完成率").SetFormat("00.0%")

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/7 8:46:00 [显示全部帖子]

Dim b11 As New CrossTableBuilder("统计表2",DataTables("a"))
b11.HGroups.AddDef("处理部门") '根据产品分组
b11.HGroups.AddDef("处理人") '根据产品分组
b11.VGroups.AddDef("是否完成红绿灯")
b11.Totals.AddDef("工单流水号",AggregateEnum.Count,"竣工量") '对数量进行统计
b11.HorizontalTotal = True
b11.HorizontalProportion = True

b11.Subtotal = True
Tables("窗口1_Table1").DataSource = b11.BuildDataSource()
DataTables("窗口1_Table1").DataCols(3).SetFormat("00.0%")
DataTables("窗口1_Table1").DataCols(5).SetFormat("00.0%")
DataTables("窗口1_Table1").DataCols.Add ("完成率", Gettype(Double), "[工单流水号_2] / [合计]")
DataTables("窗口1_Table1").DataCols("完成率").SetFormat("00.0%")
Dim r As Row
With Tables("窗口1_Table1")
    For i As Integer = 0 To .Rows.Count(True) - 1
        r = .Rows(i,True)
        If r.IsGroup Then '如果是分组行
            r("工单流水号_1hp") = r("工单流水号_1") /r("合计")
            r("工单流水号_2hp") = r("工单流水号_2") /r("合计")
            r("完成率") = r("工单流水号_2") /r("合计")
        End If
    Next
End With

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/19 16:40:00 [显示全部帖子]

就是你代码的用法的,VGroups没有办法

Dim b11 As New CrossTableBuilder("统计表2",DataTables("a"))
b11.HGroups.AddDef("处理部门") '根据产品分组
b11.HGroups.AddDef("处理人") '根据产品分组
b11.VGroups.AddDef("施工类型")
b11.VGroups.AddDef("是否完成红绿灯")
b11.Totals.AddDef("工单流水号",AggregateEnum.Count,"竣工量") '对数量进行统计
b11.HorizontalTotal = True
'b11.HorizontalProportion =True
b11.Subtotal = True
b11.Build
'DataTables("窗口1_Table1").DataCols(3).SetFormat("00.0%")
'DataTables("窗口1_Table1").DataCols(5).SetFormat("00.0%")
DataTables("统计表2").DataCols.Add ("完成率", Gettype(Double), "[工单流水号_2] / [合计]")
DataTables("统计表2").DataCols("完成率").SetFormat("00.0%")
DataTables("统计表2").DataCols.Add ("移机完成率", Gettype(Double), "[工单流水号_2] / [合计]")
DataTables("统计表2").DataCols("移机完成率").SetFormat("00.0%")
Dim r As Row
With Tables("统计表2")
    For i As Integer = 0 To .Rows.Count(True) - 1
        r = .Rows(i,True)
        If r.IsGroup Then '如果是分组行            
            r("完成率") = r("工单流水号_2") /r("合计")       
            r("移机完成率") = r("工单流水号_1") /r("合计")
        End If
    Next
End With

 回到顶部