Power BI文本类型数据按部门占比计算问题求助
解决Power BI中文本型列按部门计算占比的DAX问题
你的核心问题是误用SUM处理文本列(Days category和Division都是文本类型),SUM仅适用于数值,自然无法生效。要计算文本分类在部门内的占比,得用计数逻辑统计记录数,再除以部门总记录数,具体DAX方案如下:
1. 缺勤时长分类按部门的占比
统计每个缺勤时长分类在对应部门内的记录占比:
部门内缺勤时长分类占比 = VAR 当前分类记录数 = COUNTA(Data[Days category]) VAR 部门总记录数 = CALCULATE(COUNTA(Data[Days category]), REMOVEFILTERS(Data[Days category])) RETURN DIVIDE(当前分类记录数, 部门总记录数, 0)
COUNTA用于统计非空文本的记录数量;REMOVEFILTERS(Data[Days category])移除当前分类的筛选,得到该部门的总缺勤记录数;DIVIDE自动处理除零情况,第三个参数0是部门无记录时的默认返回值,可按需调整。
2. 缺勤星期按部门的占比
同理,统计每个星期在对应部门内的缺勤记录占比:
部门内缺勤星期占比 = VAR 当前星期记录数 = COUNTA(Data[Weekday]) VAR 部门总记录数 = CALCULATE(COUNTA(Data[Weekday]), REMOVEFILTERS(Data[Weekday])) RETURN DIVIDE(当前星期记录数, 部门总记录数, 0)
注意事项
- 可视化时需将
Division(部门)字段与分类/星期字段同时放入,确保按部门分组计算; - 若部门字段有空白值,可提前在Power Query中清洗,避免占比计算异常。
内容的提问来源于stack exchange,提问作者Virginia L
相关产品推荐
相关产品推荐

