在 powerbi 中使用 percentile.exc 超出范围的百分位值

Out of range percentile values using percentile.exc in powerbi

我是 PowerBi 的新手,需要一些帮助来弄清楚如何使 percentile.exc 函数工作(我无法使用 percentile.inc)。

我系统地收到以下错误:百分比值应在 1/(N+1)..N/(N+1) 范围内,其中 N 是数据值的数量。

此代码的 objective 用于计算另一个计算列中给定比率的 3 个月滚动第 90 个百分位数。

如有任何帮助,我将不胜感激!

这是我到目前为止的结果:

3MonthsRolling_90thPercentile= 
VAR current_date = Table1[Date]
VAR k = 0.9
VAR NumValues =
COUNT (Table1[Ratio] )
VAR LowerBound = 1 / ( NumValues + 1 )
VAR UpperBound = NumValues / ( NumValues + 1 )

RETURN
CALCULATE (
IF (AND ( PERCENTILE.EXC ( Table1[Ratio],0.9) >= LowerBound, PERCENTILE.EXC (Table1[Ratio],0.9) <= UpperBound ),PERCENTILE.EXC ( Table1[Ratio],0.9), BLANK()),
FILTER (
ALL (Table1 ),
Table1[Date]
>= DATE ( YEAR ( current_date ), MONTH ( current_date ) - 3, DAY ( current_date ) )
&& Table1[Date] <= current_date
)
)

如果 NumValues 小于 9,则 0.9 高于上限 NumValues / ( NumVales + 1 ),因此 PERCENTILE.EXC ( Table1[Ratio], 0.9 ) 将引发错误。

我认为您的措施更有意义,如下所示:

3MonthsRolling_90thPercentile =
VAR current_date = Table1[Date]
VAR DateFiltered =
    FILTER (
        ALL ( Table1 ),
        Table1[Date]
            >= DATE (
                   YEAR ( current_date ),
                   MONTH ( current_date ) - 3,
                   DAY ( current_date )
               )
            && Table1[Date] <= current_date
    )
VAR k = 0.9
VAR NumValues = CALCULATE ( COUNT ( Table1[Ratio] ), DateFiltered )
VAR LowerBound = 1 / ( NumValues + 1 )
VAR UpperBound = NumValues / ( NumValues + 1 )
RETURN
    IF (
        AND ( k >= LowerBound, k <= UpperBound ),
        CALCULATE ( PERCENTILE.EXC ( Table1[Ratio], k ), DateFiltered )
    )

请注意,我将 k 与界限进行比较,而不是 k 百分位数。