以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  SQL统计表统计不重复统计问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=102604)

--  作者:douglas738888
--  发布时间:2017/6/22 19:49:00
--  SQL统计表统计不重复统计问题

请教老师,在进行SQL统计的时候,下列代码如何应用GetValues统计不重复的行

Dim b As New SQLGroupTableBuilder......

b.Groups.AddDef("日期", DateGroupEnum.Year, "年度")
b.Groups.AddDef("任务人员")

....

b.Totals.AddExp("项目名称","项目名称",AggregateEnum.count)

[此贴子已经被作者于2017/6/22 19:58:26编辑过]

--  作者:有点色
--  发布时间:2017/6/23 0:21:00
--  

不能统计不重复行。

 

你需要在生成统计表以后,循环每一行,重新统计赋值。


--  作者:douglas738888
--  发布时间:2017/6/24 14:59:00
--  

老师,如果是如下列代码已生成统计表后,怎样再从后台循环统计不重复值(如以任务部室为基础,后台统计不重复的项目数量赋值到对应的任务部室)赋值到统计表中

 

Dim b3 As New SQLGroupTableBuilder("统计表04","个人明细")
b3.C
b3.Groups.AddDef("日期", DateGroupEnum.Year, "年度")
b3.Groups.AddDef("任务部室")
b3.Totals.AddDef("项目编号",AggregateEnum.Count,"参与项目数量")
b3.Totals.AddExp("进度计量","进度计量*1","任务进度",AggregateEnum.Sum)
b3.Totals.AddExp("难度计量","难度计量*1","任务难度",AggregateEnum.Sum)

b3.Filter = "日期 >= \'" & e.Form.Controls("DateTimePicker5").Value & "\' And 日期 <= \'" & e.Form.Controls("DateTimePicker6").Value & "\'" 
\'b3.VerticalTotal = True
Tables("总体分析_Table4").DataSource = b3.BuildDataSource()

[此贴子已经被作者于2017/6/24 15:00:43编辑过]

--  作者:有点蓝
--  发布时间:2017/6/24 15:03:00
--  
请上传实例测试。不同表结构用法不一样
--  作者:douglas738888
--  发布时间:2017/6/24 17:36:00
--  

测试文件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:不重复值测试.zip

 

[此贴子已经被作者于2017/6/25 12:43:03编辑过]

--  作者:douglas738888
--  发布时间:2017/6/25 12:43:00
--  

请老师帮忙看看,谢谢!


--  作者:有点色
--  发布时间:2017/6/25 13:28:00
--  
    Tables("测试_Table1").DataSource = b3.BuildDataSource()
    For Each r As Row In Tables("测试_Table1").Rows
        r("参与项目数量") = DataTables("表a").sqlGetValues("项目编号", b3.filter & " and 部门 = \'" & r("部门") & "\' and year(日期) = " & r("年度")).count
    Next