Foxtable(狐表)用户栏目专家坐堂 → [求助]如何实现这种统计


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

主题:[求助]如何实现这种统计

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/17 10:59:00 [显示全部帖子]

需要编码实现,上传实例。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/17 11:01:00 [显示全部帖子]

做一个临时表,加入一列项目列,输入各个需要统计的项目。

 

根据归属地动态添加列,然后循环每一行,统计。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/17 11:27:00 [显示全部帖子]

参考代码

 

Dim dt1 As DataTable = DataTables("统计表")
Dim dt2 As DataTable = DataTables("人才库")
For Each dr As DataRow In dt1.DataRows
    Dim filter As String = ""
    Select Case dr("项目")
        Case "男"
            filter = "性别 = '男'"
        Case "大学本科"
            filter = "学历 = '大学本科'"
        Case "汉族"
            filter = "民族 = '汉族'"
        Case "36-45岁"
            filter = "年龄 >= 36 and 年龄 <= 45"
    End Select
    If filter = Nothing Then
        For Each dc As DataCol In dt1.DataCols
            If dc.name <> "项目" Then
                dr(dc.name) = Nothing
            End If
        Next
    Else
        For Each dc As DataCol In dt1.DataCols
            If dc.name <> "项目" Then
                dr(dc.name) = dt2.compute("count(姓名)", filter & " and 类别 = '" & dc.name & "'")
            End If
        Next
    End If
Next


 回到顶部