以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  分组统计合计问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=70818)

--  作者:HJG_HB950207
--  发布时间:2015/6/29 17:55:00
--  分组统计合计问题
表A : 姓名,性别(男,女),政治面貌(党员,非党员),部门(分为A,B,C)
建表B: 类别,人数,A,B,C

通过表A,用Dim ss() As String = {"性别","政治面貌"}等代码已形成表B如下:

                           类别    人数   A部门    B部门   C部门
                           
                             男
                             女
                        
                             党员
                           非党员
           
                           ?合计
            
                 不知道如下在表加上合计栏,并计入合计数?由于此表上面是多重分组,不可按列直接累加。
                谢谢!



--  作者:大红袍
--  发布时间:2015/6/29 18:08:00
--  
上传具体例子,说明具体的计算规则。
--  作者:HJG_HB950207
--  发布时间:2015/6/29 18:33:00
--  
请教在表B中增加合计行。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.table


--  作者:HJG_HB950207
--  发布时间:2015/6/29 18:35:00
--  
在窗口1中修改代码,谢谢!
--  作者:大红袍
--  发布时间:2015/6/29 18:41:00
--  
Dim dt As DataTable = DataTables("表A")
Dim dt2 As DataTable = DataTables("表B")
dt2.DataRows.Clear
Dim ss() As String = {"政治面貌","性别"}
For Each lb As String In ss
    Dim dr As DataRow= dt2.AddNew
    dr("类别")=" " & lb
    Dim sum() As Double = {0,0,0,0,0}
    For Each s As String In dt.GetValues(lb,lb & " is not null")
        dr = dt2.AddNew
        dr("类别")="    "&s
        dr("人数")=dt.Compute("count(姓名)", lb & "=\'" & s & "\'")
        dr("综合办")=dt.Compute("count(姓名)", lb & "=\'" & s & "\' and 部门=\'综合办\'")
        dr("销售部")=dt.Compute("count(姓名)", lb & "=\'" & s & "\' and 部门=\'销售部\'")
        dr("业务部")=dt.Compute("count(姓名)", lb & "=\'" & s & "\' and 部门=\'业务部\'")
        dr("财务部")=dt.Compute("count(姓名)", lb & "=\'" & s & "\' and 部门=\'财务部\'")
        sum(0) += dr("人数")
        sum(1) += dr("综合办")
        sum(2) += dr("销售部")
        sum(3) += dr("业务部")
        sum(4) += dr("财务部")
    Next
    dr = dt2.AddNew
    dr("类别") = "合计"
    dr("人数")=sum(0)
    dr("综合办")=sum(1)
    dr("销售部")=sum(2)
    dr("业务部")=sum(3)
    dr("财务部")=sum(4)
Next

--  作者:HJG_HB950207
--  发布时间:2015/6/29 18:42:00
--  
谢谢!!!