<< Click to Display Table of Contents >> 聚合函数复制链接 |
聚合函数允许进行汇总。聚合函数仅在报告组件级别使用。
➢例如:
想要准确知道商店在特定年度有多少订单。使用count函数对订单数进行汇总,然后按年分组。
计算可能如下所示:
count(col['订单ID'])
➢注意:
聚合和浮点算法:有些聚合的结果可能并非总是完全符合预期。
➢例如:Sum 函数返回值为-1.42e-14 ,而已知的求和结果应该正好为0。
出现这种情况的原因是电气电子工程师学会 (IEEE) 754 浮点标准要求数字以二进制格式存储,这意味着数字有时会以极高的精度级别舍入。您可以使用round函数(参见数学函数)或者通过将数字格式设置为显示较少小数位来消除这种潜在误差。
•聚合计算规则
聚合函数允许进行汇总。聚合函数仅在报告组件级别使用。
➢例如:
想要准确知道商店在特定年度有多少订单。使用count函数对订单数进行汇总,然后按年分组。
计算可能如下所示:
count(col['订单ID'])
➢注意:
聚合和浮点算法:有些聚合的结果可能并非总是完全符合预期。
➢例如:Sum 函数返回值为-1.42e-14 ,而已知的求和结果应该正好为0。
出现这种情况的原因是电气电子工程师学会 (IEEE) 754 浮点标准要求数字以二进制格式存储,这意味着数字有时会以极高的精度级别舍入。您可以使用round函数(参见数学函数)或者通过将数字格式设置为显示较少小数位来消除这种潜在误差。
•聚合计算的规则
a)任何聚合计算中不得同时包括聚合值和非聚合值。
➢例如:sum(col['Price']) * col['Discount'] 不是有效的表达式,因为sum(col['Price']) 已聚合,而col['Discount'] 则没有。不过,sum(col['Price']*col['Discount']) 和 sum(col['Price']) * sum(col['Discount']) 均有效。
b)表达式中的常量可根据情况充当聚合值或非聚合值。
➢例如:
sum(col['Price']*7) 和 sum(col['Price'])*7 均为有效的表达式。
c)所有函数都可用聚合值进行计算。但是,任何给定函数的参数必须全部聚合,或者全部非聚合。
➢例如:max(sum(col['Sales']),col['Profit']) 不是有效的表达式,因为col['Sales'] 已聚合,而col['Profit'] 则没有。不过,max(sum(col['Sales']),sum(col['Profit'])) 为有效的表达式。
d)聚合计算的结果始终为度量,即拖入绑定区域,无法切换为维度。
e)与预定义聚合一样,聚合计算可正确地进行合计计算。有关详细信息,请参见“数据聚合”。
•聚合函数语法表:
函数 |
语法 |
说明 |
举例 |
---|---|---|---|
approximateCount |
approximateCount(expression) |
如果是数据库内、VooltDB计算,用的是不同值计算;如果是MPP集市内计算、内存计算,就是采用HyperLogLog计数(大数据的基数估计算法,误差3%),返回一组数据不同值的个数。 |
approximateCount(col['sales']) |
avg |
avg(expression) |
返回一组数据的平均值。avg只能用于数字字段。会忽略Null 值。 |
avg(col["利润"]) |
count |
count(expression) |
返回一组数据中数据的个数。不对Null值计数。 |
count(col['product']); |
correlation |
correlation(expression , expression) |
返回两个表达式的皮尔森相关系数。 皮尔森相关系数衡量两个变量之间的线性关系。结果范围为-1至 +1(包括 -1 和 +1),其中1表示精确的正向线性关系,比如一个变量中的正向更改即表示另一个变量中对应量级的正向更改,0 表示方差之间没有线性关系,而 −1表示精确的反向关系。 |
correlation(col['sales'], col['profit']) |
countAll |
countAll(expression) |
返回一组数据的计数,包含Null 值计数 |
countAll(col['sales']) |
covariance |
covariance(expression,expression) |
返回两个表达式的协方差。 |
covariance(col['sales'], col['profit']) |
distinctCount |
distinctCount(expression) |
返回一组数据不同值的个数 , 不对Null值计数。 |
distinctCount(col['product']) |
max |
max(expression) |
返回一组数据中的最大数值。 |
max(col['date']) |
median |
median(expression) |
返回一组数据的中位数。 |
median(col['sales']) |
min |
min(expression) |
返回一组数据的最小值。 |
min(col['sales']) |
mode |
mode(expression) |
返回一组数据中的众数。 |
mode(col['sales']) |
populationStandardDeviation |
populationStandardDeviation(expression) |
返回一组数据的总体标准差。 |
populationStandardDeviation(col['sales']) |
populationVariance |
populationVariance(expression) |
返回一组数据的总体方差。 |
populationVariance(col['sales']) |
product |
product(expression) |
返回一组数据的乘积。 |
product(col['sales']) |
pthPercentile |
pthPercentile(expression, number) |
返回数值区域的P百分比数值点。number的有效值为0到100。 |
pthPercentile(col['sales'], 10) |
quartile |
quartile(expression, number) |
返回一组数据的四分位点。number的有效值为1-4的整数。 |
quartile(col['sales'], 4) |
range |
range(expression) |
返回一组数据的范围。 |
range(col['sales']) |
standardDeviation |
standardDeviation(expression) |
返回一组数据的标准差。 |
standardDeviation(col['sales']) |
standardError |
standardError(expression) |
返回一组数据的标准误差。 |
standardError(col['sales']) |
sum |
sum(expression) |
返回一组数据中所有数据之和。 |
sum(col['sales']) |
sumSQ |
sumSQ(expression) |
返回一组数据的平方和。 |
sumSQ(col['sales']) |
sumWT |
sumWT(expression 1 , expression 2) |
返回数据的权重之和。 |
sumWT(col['sales'], col['profit']) |
variance |
variance(expression) |
返回一组数据的方差。 |
variance(col['sales']) |
weightAvg |
weightAvg(expression 1 , expression 2) |
返回数据权重的均值。 |
weightAvg(col['sales'], col['profit']) |