TrimMeanOf
简述
返回数据集中的内部平均值,从头尾去掉指定百分比的数据点,再求平均值。
TrimMeanOf 可只用于数字列。空值将被忽略。
TrimMeanOf(Expression:TExpression;K:Real[;BoolConditionExp:TExpression[;N:Integer[;MovingFirst:Bool[;CacheId:String]]]]] ):real
名称 | 类型 | 说明 |
---|
Expression | TExpression | 数字数据类型表达式。参见多字段聚集。可在表达式前加关键字DISTINCT,表示不管该值出现了多少次,只使用每个值的唯一实例。不添加即统计所有。 |
K | real | 0到1之间,如果为0.2表示头尾去掉10%,也就是在20个数据点中头尾各去掉2个。 |
BoolConditionExp | TExpression | 布尔型表达式,如果存在该参数,则统计内容为该表达式为真的行,否则统计所有。 |
N | integer | 整数,如果没有N参数,则统计对象为全部,否则统计对象为满足条件的从当前行起往前总共的N条记录, 如果为负数,则为从当前起往后总共|N|行。 |
MovingFirst | Boolean | 布尔型,为真表示统计内容为最近N条内符合BoolConditionExp条件的,为假表示统计内容为最近N条符合BoolConditionExp条件的。省略的时候具体默认值由SelectOpt来决定,参见:SELECTOPT(Options)。 |
CacheId | String | 字符串型,缓存标识串,参见:SQL时间序列统计缓存标志与性能加速 |
返回 | real | Real |
Table1 := Array(
('A':5,'B':20,'C':34),
('A':5,'B':20,'C':34),
('A':9,'B':20,'C':34),
('A':7,'B':18,'C':34));
Return VSelect TrimMeanOf ( ['A'],0.2) from Table1 end;//返回结果6.5