Foxtable(狐表)用户栏目专家坐堂 → [求助] 统计数据表问题


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

主题:[求助] 统计数据表问题

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 统计数据表问题  发帖心情 Post By:2014/12/25 18:42:00 [只看该作者]

我设计了一个统计表,公式如下:我的数据表20多万条记录、统计速度很慢、需要10几分钟才能够统计出来,有没有什么办法可以提高统计速度?

Dim g1 As New GroupTableBuilder("OLT端口使用统计表", DataTables("OLT设备用户端口数据表"))
g1.Groups.AddDef("机房名称")
g1.Groups.AddDef("设备名称")
g1.Groups.AddDef("机框编号")
g1.Groups.AddDef("槽位编号")
g1.Groups.AddDef("端口编号")
g1.Totals.AddDef("设备ID", AggregateEnum.Count, "密码数量")
g1.Filter = " 机房名称 Is not null"
e.form.Controls("Table1").Table.DataSource = g1.BuildDataSource
Dim dt As DataTable = e.form.Controls("Table1").Table.DataTable
dt.DataCols.Add("用户数量", Gettype(Integer))
'dt.DataCols.Add("槽位端口", Gettype(String))
dt.DataCols.Add("端口利用率", Gettype(Double))
For Each r1 As DataRow In dt.datarows
    r1("用户数量") = DataTables("OLT设备用户端口数据表").Compute("count(_Identify)" , " 机房名称 = '" & r1("机房名称") & "' and 设备名称 = '" & r1("设备名称") & "' and 机框编号 = '" & r1("机框编号") & "' and 槽位编号 = '" & r1("槽位编号") & "' and 端口编号 = '" & r1("端口编号") & "' and  宽带帐号 is not null")
    'r1("槽位端口") = r1("机框编号") +"/"+ r1("槽位编号") +"/"+ r1("端口编号")
    r1("端口利用率") = r1("用户数量") / r1("密码数量")
Next
dt.DataCols("端口利用率").SetFormat("00.00%")
e.form.Controls("Table1").Table.SetColVisibleWidth("机房名称|160|设备名称|80|槽位端口|80|机框编号|80|槽位编号|80|端口编号|80|密码数量|80|用户数量|80|端口利用率|80")

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2014/12/25 19:02:00 [只看该作者]

分组统计时直接统计不行吗?

g1.Totals.AddDef("机房名称", AggregateEnum.Count, "用户数量")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/25 19:12:00 [只看该作者]

 这种要用sql语句比较好。上传例子测试效果。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/25 19:18:00 [只看该作者]

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:参考语句.txt

 

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/12/25 19:26:00 [只看该作者]

按2楼的修改、貌似速度可以提高;先用着再观察试试吧。

还有就是以上命令只能实现按   “机房名称 设备名称 机框编号 槽位编号 端口编号”  进行统计,如果我还想再增加按  “机房名称 设备名称 机框编号 ”进行分组统计小计和汇总;我的命令公式该怎么改?

目前的效果:

图片点击可在新窗口打开查看此主题相关图片如下:360截图20141225193350968.jpg
图片点击可在新窗口打开查看

想达到的效果如附件


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据分组统计.xls


[此贴子已经被作者于2014-12-25 19:32:06编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/25 19:35:00 [只看该作者]

 叫你把数据表上传上来啊。不是统计表啊。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/25 19:45:00 [只看该作者]

 例子上传上来,不然你就参考下面的语句。

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:参考语句.txt


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/12/26 10:10:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目13.foxdb


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/26 10:23:00 [只看该作者]

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:参考语句.txt


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/12/26 10:31:00 [只看该作者]

这是求和 g.TotalOn = "密码数量,用户数量"  ;如果我需要计数呢?公式该怎么写?

这是统计一列 g.GroupOn = "设备名称" ;如果我需要显示多列,公式该怎么写 比如: 

图片点击可在新窗口打开查看此主题相关图片如下:360截图20141226103945750.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-12-26 10:37:44编辑过]

 回到顶部
总数 55 1 2 3 4 5 6 下一页