以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  如果要指定subtotalfill函数产生的新列名,该怎么办。  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=21404)

--  作者:Egei
--  发布时间:2012/6/17 9:24:00
--  如果要指定subtotalfill函数产生的新列名,该怎么办。

SubtotalFill

结合填充公式和刷新公式进行自动分组统计的方法,虽然方便灵活,但是有一个最大的不足,就是在数据量大、分组比较多的情况下,效率将常低。为解决这个问题,最新版本的易表.net特地推出了SubtotalFill函数。SubtotalFill函数同时具备提取分组数据和数据统计的功能,效率比之前介绍的方法提高了100倍以上。

和SelectFill函数一样,SubtotalFill通常用在填充公式或者自定义按钮的命令公式中。在“表”菜单上单击“填充公式”即可设置填充公式,填充公式只会在重算全表的时候生效。

语法:
SubtotalFill(SourceGrid,GroupCol,SubtotalCol,FunctionType,Option,CompareCol,CompareMode,Comparevalue...)
SourceGrid   原始数据表
GroupCol     分组列,如果有多个分组列,可以逗号隔开,例如“产品, 客户”
SubtotalCol  统计列,如果有多个统计列,可以逗号隔开,例如“数量, 金额”
FunctionType 统计类型,2求和,4记录数,5平均值,6最大值,7最小值,如果有多个统计列,可以逗号隔开,例如“2,2”
Option       可选参数,设为1将不包括原始数据表的隐藏行。
CompareCol   可选参数,进行比较的列,可以用列名称表示,也可以用位置表示。
CompareMode  可选参数,比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
Comparevalue 可选参数,比较值

可以设置多个比较条件,从第六个参数开始,每三个参数组成一个比较条件。如果比较方式选择的是Instr,则进行包含查询;如果比较方式选择"Like",则可以在比较值中使用通配符进行类似查询。


--  作者:Egei
--  发布时间:2012/6/17 9:28:00
--  

函数说明了SubtotalFill函所产生新表的标头的标题将和原表是一样的。而FunctionType 统计类型,2求和,4记录数,5平均值,6最大值,7最小值所产生的新表的含义是不一样的,应该是原表某列数据的,平均值,最大最小值等,这个时候最好能重新命名下新列名最好了。

 

当然用selectfill 和 sumfor函数的组合可以先定表的列名再统计。但就没有subtotalfill函数的优势了。


--  作者:lyang70
--  发布时间:2012/6/18 10:03:00
--  
呵呵,不明白你统计/分组的对象就是原表的某些指定列,为何要重命名?
--  作者:wjq1072
--  发布时间:2012/6/20 19:01:00
--  
完全可以的!