作者:何俊雨_127 | 来源:互联网 | 2024-11-16 11:01
在数据处理和分析中,空值(null)的处理是一个常见的挑战。特别是在PowerQuery中,源数据中经常会出现空值,例如Excel中的空白单元格。这些空值在运算时可能会导致意外的结果。本文将介绍几种有效的方法来处理空值运算,确保数据的准确性和完整性。
首先,我们来看一个简单的例子。假设有一个数据表,其中包含一些空值:
在PowerQuery中,直接对空值进行运算通常会导致结果仍然是空值。例如,两列相加时,如果其中一列为空值,结果也会是空值:
结果如下:
这是因为PowerQuery中的运算规则规定:null + 数字 = null。为了得到预期的结果,我们需要采取一些特殊的方法。
一种常见的方法是将空值替换为0。虽然这种方法在某些情况下有效,但在其他情况下可能会产生错误的结果。例如,如果需要进行乘法运算,将空值替换为0会导致结果始终为0。
因此,这里推荐使用List类函数来处理空值运算。以两列相加为例,可以使用List.Sum函数:
结果如下:
可以看到,null + 数字 = 数字。在List.Sum运算中,null默认被视为0。
同样地,对于乘法运算,可以使用List.Product函数:
结果如下:
null * 数字 = 数字。在List.Product运算中,null默认被视为1。
我们还可以测试最大值和最小值:
List.Max(null, 数字) = 数字
List.Min(null, 数字) = 数字
无论null和数字进行何种运算,其结果都是数字,null就像不存在一样,不参与数字运算。
总结:
1. 如果你希望结果是null + 数字 = null,直接使用运算符号“+”。
2. 如果你希望结果是null + 数字 = 数字,使用List.Sum函数。
最后,需要注意的是,List运算的结果在上传到数据模型后默认为文本型,因此在上传前请先在PowerQuery中将其更改为数值型。