Foxtable(狐表)用户栏目专家坐堂 → [求助]分组行计算


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

主题:[求助]分组行计算

帅哥,在线噢!
lgj716330
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]分组行计算  发帖心情 Post By:2021/7/24 11:04:00 [只看该作者]

生成分组统计后如下图,我想计算第二个分组行的值,这个条件应该怎么写

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

Dim bd57 As New SQLGroupTableBuilder("统计表57","产值表")
bd57.C
bd57.Groups.AddDef("生产区域")
bd57.Groups.AddDef("组别")
bd57.Groups.AddDef("月份")
bd57.Totals.AddDef("数量")
bd57.Totals.AddDef("金额")
bd57.Build

    If r.IsGroup Then
        Dim s1 As String = r("生产区域")
        Dim s11,s12 As String
        s11 = s1.Replace(" 区域小计","")  
        s12 = s1.Replace(" 组别小计","") 
        If r.level=1 Then
        r("月均产值") =DataTables("统计表57").Compute("Avg(金额)","生产区域 = '" & s11 & "' and 组别 = '" & s12 & "'")  
        End If
    End If
统计表中有很多列,大部分都是SUM合计的,个别列需要计算平均值
不同的生产区域,组别是有相同的,上面标色地方的判断条件不知怎么写
[此贴子已经被作者于2021/7/24 11:07:18编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/24 11:30:00 [只看该作者]

    If r.IsGroup andalso r.level=1 Then
        Dim s1 As String = r("生产区域")
        Dim s11,s12 As String
        s11 = s1.Replace(" 区域小计","")  
        s12 = tables("统计表57").rows(i-1,true)("生产区域").Replace(" 组别小计","") 
        r("月均产值") =DataTables("统计表57").Compute("Avg(金额)","生产区域 = '" & s11 & "' and 组别 = '" & s12 & "'")  
    End If

 回到顶部
帅哥,在线噢!
lgj716330
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/7/24 12:25:00 [只看该作者]


[此贴子已经被作者于2021/7/24 12:57:58编辑过]

 回到顶部
帅哥,在线噢!
lgj716330
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/7/24 13:20:00 [只看该作者]

Dim bd57 As New SQLGroupTableBuilder("统计表57","产值表")

bd57.C

bd57.Groups.AddDef("生产区域")

bd57.Groups.AddDef("组别")

bd57.Groups.AddDef("月份")

bd57.Totals.AddDef("数量")

bd57.Totals.AddDef("金额")

bd57.Build

 

Dim t As Table = Tables("综合分析报表_Table1")

 

Dim r As Row

For i As Integer = 0 To t.Rows.Count(True) - 1

    r = t.Rows(i,True)

    If r.IsGroup AndAlso r.level=1 Then

        Dim s1 As String = r("生产区域")

        Dim s11,s12 As String

        s11 = s1.Replace(" 区域小计","") 

        s12 = Tables("综合分析报表_Table1").rows(i-1,True)("生产区域").Replace(" 组别小计","")

        r("月均产值") =DataTables("统计表57").Compute("Avg(金额)","生产区域 = '" & s11 & "' and 组别 = '" & s12 & "'") 

    End If

Next

msgbox(s12)显示的是生产区域

msgbox(s11)显示的是“** 组别小计”

[此贴子已经被作者于2021/7/24 13:25:47编辑过]

 回到顶部
帅哥,在线噢!
lgj716330
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/7/24 13:30:00 [只看该作者]

知道怎么调整了

    If r.IsGroup AndAlso r.level=1 Then

        Dim s1 As String = r("生产区域")

        Dim s11,s12 As String

        s11 = s1.Replace(" 组别小计","") 

        s12 = Tables("综合分析报表_Table1").rows(i-1,True)("生产区域").Replace(" 组别小计","")

        r("月均产值") =DataTables("统计表57").Compute("Avg(金额)","生产区域 = '" & s12 & "' and 组别 = '" & s11 & "'") 

    End If


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/24 13:35:00 [只看该作者]

搞反就调换一下咯

或者试试
If r.IsGroup AndAlso r("生产区域") like "*区域小计*" Then

 回到顶部