一个空值_Power Query中空值null的处理秘籍

本文探讨了在Power Query中处理空值(null)的策略,特别是如何在运算时避免空值影响结果。通过使用List类函数如List.Sum和List.Product,可以实现null与数字相加等于数字,相乘等于数字的效果,使得null在运算中默认为0或1。文章总结了如何根据需求选择适当的运算方法,并提醒在上载到数据模型前将结果转换为数值型。
摘要由CSDN通过智能技术生成
f8a64c4b00dd954c3ee7fb6a4bcdfc28.png

​星友们在知识星球(PowerBI星球)提出的问题中,关于空值的运算经常被提及。平时接触到的源数据常常有空值,比如Excel数据中的空白单元格,powerquery中会显示为null,大多数时候,我们并不能简单粗暴的删除其中的空值,而是需要在PQ中对数据进一步运算整理。

如果对空值直接进行运算,得到的还是空值,这可能并不是我们期望的结果,那么本文就提供一个空值运算的思路。


假设数据如下,

0a5646ce413a9ba52a848bc447667bd9.png


首先测试一下PowerQuery中null的运算结果,比如两列相加,直接用“+”,新建列,

55460bff962c0d513fc6bfc6a0fd70db.png

结果如下:

b584f14dae734431fa8ca324baec1b49.png

null+数字=null

null参与运算的结果也都成了null。

这是因为在PowerQuery运算中:null+数字=null

那么如何能让null+数字=数字呢,可能大家想到的一个办法是null使用0来替换,这样确实能得到正确的结果。

但是null毕竟和0是有差别的,假设都替换为0,然后又出现两列相乘的需求,是不是又悲剧了:(

下面就说一个不用替换的方法:使用List类函数

依然以两列相加为例,相加用List.Sum函数,

10e6c808129ef67d519be9b5e7a90b62.png

结果如下,

badeff2a429f6568ccd60a0bbc2a2ed4.png

null+数字=数字

这样的结果是不是就舒服多了!

这样就做到了:null+数字=数字,从这个运算结果来看,null在List.Sum运算中默认为0。

那如果相乘呢,可以使用List.Product函数,

971420164794a367dfe0a7d08ea6971c.png

null*数字=数字

在这个乘法运算中,null*数字=数字,null在其中又相当于是1啦。

我们还可以进一步测试最大值和最小值,其结果如下:

List.Max(null,数字)=数字

List.Min(null,数字)=数字

是不是感觉很奇怪?

其实无论null和数字进行何种运算,其结果都是数字,null就像压根不存在一样,不参与数字运算,把它当成真空就好。

所以在List类函数的运算中,null才是真正实现了做自己,无论与数字怎么运算,最终的结果都是数字。

总结

以加法为例(其他类型的运算与加法类似):

如果你想要的结果是null+数字=null,直接使用运算符号"+";

如果你想要的结果是null+数字=数字,使用List.Sum函数;


最后友情提醒,List运算的结果上载到数据模型后默认为文本型,所以上载前请先在PowerQuery中将其更改为数值型哦。

推荐阅读:

玩转十三个PowerBI图表,轻松搞定数据可视化

Power BI数据分析可视化实战:带你全面认识强大的PowerBI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值