1. 概述
1.1 版本
FineBI版本 | 功能變動 |
---|---|
6.0 | - |
6.1.4 | 支援抽取資料使用PERCENTILE_AGG()函式 |
1.2 函式
文法 | PERCENTILE_AGG(array,百分位) | 根據當前分析維度,從給定運算式傳回與指定數字對應的百分位處的值。數字必須介於 0 到 1 之間(含 0 和 1 ),例如 0.66,並且必須是數值常數。 |
---|---|---|
參數 | array | 必須為非聚合函式公式傳回的結果,可以是某指標欄位、維度或指標欄位與普通公式的計算結果。不支援插入正文和日期。 |
2. 注意事項
支援使用兩個數值類型參數,且第二個參數必須為常數。
直連僅支援以下資料庫:Sybase IQ、Oracle、PostgreSQL(9.4或以上)、ClickHouse、Greenplum、Transwarp Inceptor、Redshift、MaxCompute、Teradata、Hologres、DB2(11.1或以上)、Hive、GaussDB(DWS)(8.1.1或以上)、Dremio。
直連資料庫為Redshift時,只能同時對同一欄位做有序聚合計算(如求中位數、百分位),否則會發生錯誤。
直連資料庫為MaxCompute或Hive時,只能對整數欄位做此種計算。
3. 範例
3.1 求95%的購買數量
使用者橫軸為維度欄位“日”時,縱軸的計算欄位 PERCENTILE_AGG(購買數量,0.95) 傳回的值為每日的95%的購買數量。
當使用者橫軸為維度欄位“月”時,PERCENTILE_AGG(購買數量,0.95) 傳回的值為每月的95%的購買數量。如下圖所示:
3.2 更多範例
如果你是人力資源經理,可以使用 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 使用插值法來確定最終的百分位的值。