Power BI中基于Technician切片器计算Binom.Dist及产品均值
在Power BI中实现二项分布计算及按技术人员分组的均值统计
1. 手动实现二项分布(Binom.Dist)的DAX度量值
Power BI没有原生的BINOM.DIST函数,我们可以通过组合数公式+幂运算复刻Excel中该函数的逻辑,对应你提供的三列数据:
Total WO:试验总次数(对应Excel BINOM.DIST的n参数)Total FTF:成功次数(对应Excel的k参数)Product FTF %:单次试验的成功概率(对应Excel的p参数)
直接用以下DAX创建度量值:
BINOM.DIST = IF( [Total WO] = BLANK(), BLANK(), IFERROR( DIVIDE( FACT([Total WO]), FACT([Total WO] - [Total FTF]) * FACT([Total FTF]) ) * POWER([Product FTF %], [Total FTF]) * POWER(1 - [Product FTF %], [Total WO] - [Total FTF]), 0 ) )
- 用
IF判断总试验次数为空时返回空值,避免无效计算 DIVIDE包裹组合数计算,防止除零错误IFERROR兜底处理异常情况,计算出错时返回0
2. 按选中技术人员计算Binom.Dist的均值
要实现基于Technician切片器的均值统计,创建第二个度量值,用AVERAGEX迭代该技术人员的所有产品记录并计算平均值:
Technician Binom.Dist 均值 = VAR SelectedTech = SELECTEDVALUE('你的数据表'[Technician]) RETURN IF( ISBLANK(SelectedTech), BLANK(), AVERAGEX( FILTER( ALL('你的数据表'), '你的数据表'[Technician] = SelectedTech ), [BINOM.DIST] ) )
说明:
SELECTEDVALUE获取切片器选中的技术人员,未选中时返回空值FILTER(ALL(...))筛选出该技术人员对应的所有产品行,仅保留技术人员维度的筛选逻辑AVERAGEX遍历筛选后的行,计算每行的BINOM.DIST值后取算术平均
将这个度量值添加到卡片或表格组件,配合Technician切片器使用,选中Technician 1后就能自动计算其名下Product1和Product2的Binom.Dist均值。
内容的提问来源于stack exchange,提问作者gudeThings
相关产品推荐
相关产品推荐

