FrequencyOf
简述
返回数值区间在数据集中出现的频率。
FrequencyOf 可只用于数字列。空值将被忽略。
FrequencyOf(Expression:TExpression;calc_array:array[;BoolConditionExp:TExpression [;N:Integer[;MovingFirst:Bool[;CacheId:String]]]]):real
名称 | 类型 | 说明 |
---|
Expression | TExpression | 数字数据类型表达式。参见多字段聚集。可在表达式前加关键字DISTINCT,表示不管该值出现了多少次,只使用每个值的唯一实例。不添加即统计所有。 |
Calc_Array | Array,TableArray | 计算的数值区间,例如array(2,3,5)则计算<=2和>2 <=3以及>3<=5以及>5的区间出现频率假如数据集为1,2,4,则返回的结果为2,0,1,0。返回的结果比数据区间的值个数多1 |
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 FrequencyOf ( ['A'],array(6)) from Table1 end;
返回结果:
