- 方式1. try -
在我的基础系列文章《收藏!35篇PQ文章合集,速度下载全套材料!》里,其中有一篇是关于try...otherwise...的介绍,这是针对可能出现错误的情况下,对错误进行处理的常见方式:
当然,try不仅仅是和otherwise形成组合,还有我前面文章《PQ里try的真正用法!99%的人都不知道!》里讲的如何通过try得到判断结果的方法。
但是,参与我视频课程的朋友应该很多都知道,我在视频课里强调过,类似于Excel的IFERROR、ISERROR,PQ里的try,PP里的IFERROR等,都是万不得已时才用的方式,因为这种错误判断会极大地影响运算效率。所以,不要看到错误就去try,会卡的。
- 方式2. 删除错误 -
除了前面讲的try,在很多实际工作中,出现错误时,往往这些错误的值是不需要的,其牵连的结果时一整行的数据都可能失去意义,从而不能参与数据分析,这种时候,错误处理就是要把有错误的行给删掉。在PQ中,删除错误行非常简单,如下图所示操作即可:
- 方式3. 替换错误 -
当然,也有很多时候,一行上某个值的错误并不影响整行数据的情况,因此要求对错误进行一定规则的替换,也是数据整理过程中的一个关键,这一点在Power Query里也得到了很好的支持,如下图所示,完全可以直接通过按钮操作完成。
方式4. 提前避免错误
在日常工作中,有很多错误其实是可以预判的,这种情况下,应尽可能明确可能发生错误的情况,直接进行提前的干预。如经典的例子——开平方出现负数时的处理:
- 方式5. 源头避免错误 -
如果可能从源头上把错误的数据处理掉,其实是最好的方法,也必须作为错误数据处理的努力方向——即使一时可能无法实现!
因为源头的错误处理,不仅为在PQ里避免因错误处理带来的效率问题,还可能找到源头数据产生错误的真正原因,从而得到正确的数据,而不是可能错误的、修复的、缺失的数据。
当然,这一点往往也是最难的,因为这不仅是技术问题,而是如何跟提供数据的人打交道的问题,但无论如何,应努力争取,同时记住,打造好自己的数据处理和分析能力,会极大提升你的说服力和影响力。