Fractile - 图表函数
Fractile() 用于查找与通过图表维度迭代的表达式指定的范围中聚合数据的包容性分位数(位数)对应的值。
提示注释可使用 FractileExc - 图表函数 计算排他分位数。
语法:
Fractile([{SetExpression}] [DISTINCT] [TOTAL [<fld{, fld}>]] expr, fraction)
返回数据类型: 数字
函数返回由 rank = fraction * (N-1) + 1 定义的与排名相对应的值,其中 N 是 expr 中的值数。如果排名是非整数,则在两个最接近的值之间进行插值。
参数:
- expr: 包含计算分位数时要使用的数据的表达式或字段。
- fraction: 可以计算与分位数(表示为分数的位数)对应的介于 0 和 1 之间的数字。
- SetExpression: 聚合函数会默认聚合选择项定义的可能记录集合。可选记录集合可由集合分析表达式定义。
- DISTINCT: 如果在函数参数前出现单词 DISTINCT,则将忽略计算该函数参数生成的副本。
- TOTAL: 如果在函数参数前面出现单词 TOTAL,则计算给出当前选择项的所有可能值,而不只是属于当前维度值的那些值,即它会忽略图表维度。 通过使用 TOTAL [<fld {.fld}>](其中 TOTAL 限定符后跟一个或多个字段名称作为图表维度变量的子集的列表),您可以创建总可能值的子集。
限制:
聚合函数的参数不能包含其他聚合函数,除非这些内部聚合包含 TOTAL 限定符。 有关高级嵌套聚合函数的更多信息,请结合指定维度使用 Aggr 高级函数。
示例:
示例 | 结果 |
---|---|
Fractile(Sales, 0.75) |
对于包含维度 |
Fractile(TOTAL Sales, 0.75)) | 对于 Customer 的全部值,结果为 71.75,因为 TOTAL 限定符意味着忽略维度。 |
Fractile(DISTINCT Sales, 0.75) | 合计为 70,因为使用 DISTINCT 限定符意味着仅评估每个 Sales Customer 中的唯一值。 |
示例中所使用的数据:
Monthnames:
LOAD *, Dual(MonthText,MonthNumber) as Month INLINE [
MonthText, MonthNumber
Jan, 1
Feb, 2
Mar, 3
Apr, 4
May, 5
Jun, 6
Jul, 7
Aug, 8
Sep, 9
Oct, 10
Nov, 11
Dec, 12
];
Sales2013:
Crosstable (MonthText, Sales) LOAD * inline [
Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
Astrida|46|60|70|13|78|20|45|65|78|12|78|22
Betacab|65|56|22|79|12|56|45|24|32|78|55|15
Canutility|77|68|34|91|24|68|57|36|44|90|67|27
Divadip|57|36|44|90|67|27|57|68|47|90|80|94
] (delimiter is '|');
Customer | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Astrida | 46 | 60 | 70 | 13 | 78 | 20 | 45 | 65 | 78 | 12 | 78 | 22 |
Betacab | 65 | 56 | 22 | 79 | 12 | 56 | 45 | 24 | 32 | 78 | 55 | 15 |
Canutility | 77 | 68 | 34 | 91 | 24 | 68 | 57 | 36 | 44 | 90 | 67 | 27 |
Divadip | 57 | 36 | 44 | 90 | 67 | 27 | 57 | 68 | 47 | 90 | 80 | 94 |