Power BI 按用户统计行数据并计算成功失败占比的实现问题
Power BI 用户占比计算实现方案
方法1:DAX度量值实现(推荐,无需修改原表结构)
直接在原表上新建4个度量值,把公式里的你的表名替换成实际数据表名称即可:
- 总尝试次数:
总尝试次数 = COUNT('你的表名'[attempts]) - 成功次数:
成功次数 = CALCULATE(COUNT('你的表名'[attempts]), '你的表名'[status] = "ok") - 失败次数:
失败次数 = CALCULATE(COUNT('你的表名'[attempts]), '你的表名'[status] = "fail") - 占比(和你示例匹配的失败占比):
ratio = DIVIDE([失败次数], [总尝试次数], 0)
写完后将ratio度量值的格式设置为百分比,保留0位小数,直接把user_id字段和ratio度量值拖到表格可视化中,即可自动按用户分组得到你要的结果。如果需要统计成功占比,把ratio公式里的分子换成[成功次数]即可。
方法2:Power Query分组实现(对应你尝试的Group By方案)
你之前Group By未成功是因为没有添加条件计数的步骤,按以下操作即可:
- 进入Power Query编辑器,选中目标数据表
- 点击「转换」选项卡 → 「分组依据」,选择「高级」模式
- 首先添加分组列:列选择
user_id,新列名可自定义为用户ID - 依次添加3个聚合列:
- 聚合1:新列名
总尝试次数,操作选「计数行」 - 聚合2:新列名
成功次数,操作选「自定义」,公式填List.Count(List.Select([status], each _ = "ok")) - 聚合3:新列名
失败次数,操作选「自定义」,公式填List.Count(List.Select([status], each _ = "fail"))
- 聚合1:新列名
- 点击确定完成分组后,新增自定义列计算占比:
= [失败次数]/[总尝试次数],将该列格式设置为百分比即可。
内容的提问来源于stack exchange,提问作者Kamal Panhwar
相关产品推荐
相关产品推荐

