1. 概述
语法 | PERCENTILE_AGG(array,百分位) | 根据当前分析维度,从给定表达式返回与指定数字对应的百分位处的值。数字必须介于 0 到 1 之间(含 0 和 1 ),例如 0.66,并且必须是数值常量。 |
---|---|---|
参数 | array | 必须为非聚合函数公式返回的结果,可以是某指标字段、维度或指标字段与普通公式的计算结果。不支持插入文本和日期。 |
2. 注意事项
不支持「抽取数据」使用。
支持使用的数据库包括:ClickHouse、Pivotal Greenplum Database、Oracle 、Postgresql (9.4或以上)、REDSHIFT、PRESTO、sybaseiq、VERTICA、阿里云MaxCompute。
注:当数据库系统为 REDSHIFT 时,只能同时对同一个字段做需要排序的聚合操作(如求去重计数、中位数、百分位、近似去重计数),同时对2个或以上的字段做此种聚合操作会发生错误。
支持使用两个数值类型参数,且第二个参数必须为常量。
3. 示例
如果你是人力资源经理,可以使用 PERCENTILE_AGG 了解员工的薪酬分布。
公式 | 含义 | 描述 |
---|---|---|
PERCENTILE_AGG(工资,0.25) | 返回25th 的百分位数 | 表示有 25% 的员工薪酬低于该值,用来了解底薪 |
PERCENTILE_AGG(工资,0.5) | 返回50th 的百分位数 | 表示有 50% 的员工薪酬低于该值,是薪酬分布中间点 |
PERCENTILE_AGG(工资,0.9) | 返回90th 的百分位数 | 表示有 90% 的员工薪酬低于该值,了解高收入的情况 |
PERCENTILE_AGG 计算逻辑同 Excel 中的 Percentile。
若百分位不是 1/n 的倍数,函数 PERCENTILE_AGG 使用插值法来确定最终的百分位的值。