如何在Table.Pivot语句内将Null值替换为0?
解决Table.Pivot中直接将Null替换为0的问题
要实现你想要的效果,无需在透视后处理动态列,直接在Table.Pivot的聚合参数里用自定义函数就能搞定,有两种简洁写法:
方法1:聚合前逐个替换Null为0
对要聚合的每个值先做Null替换,再求和,确保任何场景下都不会返回Null:
= Table.Pivot( #"Appended Query", List.Distinct(#"Appended Query"[coverage]), "coverage", "Value", (values) => List.Sum(List.Transform(values, each _ ?? 0)) )
方法2:求和后替换Null为0
先正常执行求和,若分组内全是Null导致求和结果为Null,再替换成0,写法更简洁:
= Table.Pivot( #"Appended Query", List.Distinct(#"Appended Query"[coverage]), "coverage", "Value", (values) => List.Sum(values) ?? 0 )
这两种方式都是在透视的聚合阶段完成Null替换,完全适配动态生成的列,不用担心后续列变化导致处理失效。
内容的提问来源于stack exchange,提问作者JoeJ
相关产品推荐
相关产品推荐

