计算四分位数

时间:2018-10-19 19:00:15

标签: powerbi dax

我正在努力在Power BI可视化中重新创建功能分析。由于没有真正的统计功能,因此我必须从头开始创建。当我尝试获取“ BSTP”最佳短期绩效评估的第三四分位数的平均值时,我遇到了一个小问题。 BSTP的计算公式为

目标=基线(µ)+ | 0.7 x(BSTP-基线(µ))|

(µ)是易于检查的AVERAGE() 0.7 =再次简化流程并进行检查

BSTP =第三四分位数平均值/第三四分位数中的数据点计数不是那么容易,并且没有检查...

用于计算示例...

不要说我们有100个数据点,其分布范围是0-100

  • Min = 1
  • Q1 = 25
  • 第二季度= 50
  • 第三季度= 75
  • 第四季度= 100

此过程从excel进行的BSTP计算如下

SUMIF(“数据值”> = 75(Q3)/ COUNTIF(“数据值”> = 75)

因此,如果“数据值”的总和大于或等于75,则除以大于或等于75的数据计数...在此示例中,我们将在51-75之间有25个等于1575的数据值,51 + 52 + 53 + 54 ....总结了25个数据点,因此最终计算将为

1575/25 = 63(BSTP)

总结...这是我要在幂bi中求解的公式

SUMIF("data value" >= 75 (Q3)/ COUNTIF("data value" >= 75)

感谢您的见识!

1 个答案:

答案 0 :(得分:0)

DAX确实具有一些统计功能,因此这一功能非常简单。

如果您正在寻找第三四分位数的平均值,那么您想要

SUMIF( 50 <= "data value" < 75 ) / COUNTIF( 50 <= "data value" < 75 )

或者简单地

AVERAGEIF( 50 <= "data value" < 75 )

您可以使用百分位函数计算四分位数所在的位置,然后对该子集求平均值:

3rdQtlAvg =
VAR Q2 = PERCENTILE.INC ( Table1[Val], 0.50 )
VAR Q3 = PERCENTILE.EXC ( Table1[Val], 0.75 )
RETURN
    AVERAGEX (
        FILTER ( Table1,
            Table1[Val] >= Q2 &&
            Table1[Val] <= Q3 ),
        Table1[Val]
    )