Power BI公式中数值列被误识别为列表的报错问题求助
Power BI 计算百分比列报错解决方案
报错原因
直接引用ItemCountsByWeekCompletedForRedTagRpt_VW[ItemCount]时,返回的是整个表该列的所有值(即一个列表),而[Sum_Qty]是当前行的单个数值,数字与列表无法执行除法运算,因此触发类型不匹配错误。
针对性解决方案
根据业务场景选择对应方法:
场景1:按关联字段匹配对应行的ItemCount计算
如果两个表有共同关联字段(比如周ID、产品编码等),需匹配对应行的ItemCount进行计算:
- 先确保数据模型中两个表已基于关联字段建立正确关系
- 修改Power Query公式为以下两种方式之一:
方法1:使用LookupValue函数匹配
方法2:用= Table.AddColumn(#"Filtered Rows2", "WeeklyAvg", each [Sum_Qty]/LookupValue(ItemCountsByWeekCompletedForRedTagRpt_VW[ItemCount], ItemCountsByWeekCompletedForRedTagRpt_VW[关联字段名], [当前表关联字段名]))Table.SelectRows筛选后取对应值
注意:无匹配数据时可加默认值,比如= Table.AddColumn(#"Filtered Rows2", "WeeklyAvg", each [Sum_Qty]/List.First(Table.SelectRows(ItemCountsByWeekCompletedForRedTagRpt_VW, (r)=>r[关联字段名]=[当前表关联字段名])[ItemCount]))LookupValue(..., 0)或List.FirstOrDefault(..., 1)避免报错
场景2:除以整个表的ItemCount总和
如果需求是用Sum_Qty除以整个表的ItemCount总和,用List.Sum提取总和再计算:
= Table.AddColumn(#"Filtered Rows2", "WeeklyAvg", each [Sum_Qty]/List.Sum(ItemCountsByWeekCompletedForRedTagRpt_VW[ItemCount]))
内容的提问来源于stack exchange,提问作者Rick Savoy
相关产品推荐
相关产品推荐

