percentileCont
percentileCont
函数根据度量中数字的连续分布计算百分位数。其使用字段井中应用的分组和排序。其回答了如下问题:哪些值代表这个百分位数? 要返回数据集中可能不存在的精确的百分位数值,请使用 percentileCont
。要返回数据集中存在的最接近的百分位数值,请改用 percentileDisc
。
语法
percentileCont(
expression
,percentile
, [group-by level])
Arguments
- 度量
-
指定用于计算百分位数的数值。参数必须是一个度量或指标。计算中将忽略 Null。
- percentile
-
百分位数值可以是任何介于 0-100 的数字常数。百分比值 50 计算度量的中值。
- 分组依据等级
-
(可选)指定聚合分组依据的等级。添加的等级可以是任何维度,也可以是独立于添加到视觉对象的维度。
参数必须是一个维度字段。分组依据等级必须用方括号
[ ]
括起来。有关更多信息,请参阅 LAC-A 函数。
返回值
函数的结果为数字。
使用说明
percentileCont
函数根据指定度量中值的连续分布计算结果。根据视觉对象中的设置对值进行排序后,通过在值之间进行线性内插计算得出结果。其不同于 percentileDisc
,后者只是从聚合的一组值中返回值。percentileCont
的结果可能存在于指定度量的值中,也可能不存在。
percentileCont 的示例
以下示例帮助解释 percentileCont 的工作原理。
例 比较中值、percentileCont
和 percentileDisc
以下示例使用 median
、percentileCont
和 percentileDisc
函数显示维度(类别)的中值。中值与 percentileCont 值相同。percentileCont
内插一个值,该值可能存在于数据集中,也可能不存在。但是,percentileDisc
始终显示数据集中存在的值,因此两个结果可能不匹配。本示例的最后一列显示了两个值之间的差异。每个计算字段的代码如下所示:
-
50%Cont = percentileCont(
example
, 50 ) -
median = median(
example
) -
50%Disc = percentileDisc(
example
, 50 ) -
Cont-Disc = percentileCont(
example
, 50 ) − percentileDisc(example
, 50 ) -
example = left(
(举一个更简单的例子,我们使用这个表达式将类别的名称缩短为它们的第一个字母。)category
, 1 )
example median 50%Cont 50%Disc Cont-Disc -------- ----------- ------------ -------------- ------------ A 22.48 22.48 22.24 0.24 B 20.96 20.96 20.95 0.01 C 24.92 24.92 24.92 0 D 24.935 24.935 24.92 0.015 E 14.48 14.48 13.99 0.49
例 第 100 个百分位数为最大值
以下示例显示了 example
字段的各种 percentileCont
值。计算字段 n%Cont
定义为 percentileCont( {
。每列中的内插值表示属于该百分位数存储桶的数字。在某些情况下,实际数据值与内插值相匹配。例如,列 example
}
,n)100%Cont
每行显示相同的值,因为 6783.02 是最大的数字。
example 50%Cont 75%Cont 99%Cont 100%Cont --------- ----------- ----------- ------------ ----------- A 20.97 84.307 699.99 6783.02 B 20.99 88.84 880.98 6783.02 C 20.99 90.48 842.925 6783.02 D 21.38 85.99 808.49 6783.02
您还可以使用视图或数据集中的一个或多个维度来指定在哪个等级对计算进行分组。这称为 LAC-A 函数。有关 LAC-A 函数的更多信息,请参阅 LAC-A 函数。以下示例根据数字在国家/地区等级的连续分布来计算第 30 个百分位数,但不计算视觉对象中其他维度(区域)的第 30 个百分位数。
percentileCont({Sales}, 30, [Country])