以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [讨论] 跨表多条件统计如何提高速度? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46902) |
-- 作者:bahamute -- 发布时间:2014/2/28 22:59:00 -- [讨论] 跨表多条件统计如何提高速度? 跨表使用computer多条件统计如何提高速度?
按照帮助中的成绩分布统计,做了一个统计表,如下图, 差不多有40个条件,加载时超慢,居然半分钟才弹出页面,统计结果没问题,就是速度有问题,是我的统计方式有问题还是思路不对?附简单代码,请高手指点啊!
Dim dr As DataRow
= e.DataRow Dim dt As Table =Tables("表A") If e.DataCol.Name = "单位" And
dr.IsNull("单位") = False Then dr("人数_总数") = dt. Compute("Count(姓名)","[单位] = \'" & dr("单位") & "\'") dr("按性别_男") = dt.
Compute("Count(姓名)","[单位] = \'" & dr("单位")
& "\' And [性别] =\'男\'") dr("按性别_女") = dt.
Compute("Count(姓名)","[单位] = \'" & dr("单位")
& "\' And [性别] =\'女\'") dr("按年龄_18至20")= dt.
Compute("Count(姓名)","[单位] = \'" & dr("单位")
& "\' And [年龄] >= 18 And 年龄 <=20") dr("按年龄_21至25")= dt.
Compute("Count(姓名)","[单位] = \'" & dr("单位")
& "\' And [年龄] >= 21 And 年龄 <=25")
后续代码省略......... [此贴子已经被作者于2014-2-28 23:27:22编辑过]
|
-- 作者:y2287958 -- 发布时间:2014/2/28 23:02:00 -- 上个例子吧 |
-- 作者:bahamute -- 发布时间:2014/2/28 23:09:00 -- 如图所示,每一列都使用了compute方法,现在主要就是想了解,统计表大量使用compute的情况下,如何提高统计速度。 [此贴子已经被作者于2014-2-28 23:11:17编辑过]
|
-- 作者:y2287958 -- 发布时间:2014/2/28 23:12:00 -- 方法很多 具体问题得具体分析滴 或者看看这里
[此贴子已经被作者于2014-2-28 23:13:14编辑过]
|