源数据常常包含各种差错值,为了进行下一步的分析,我们必须先找出并更正这些差错,做这些工作几乎不会有什么快乐感可言,但却往往需要耗费很多精力。如果利用数据准备工具就能够发现这些数据质量问题,我们就可以节省大量时间。
最近的 PowerBI 更新中,恰好有个功能就是做这个的:列分析,下面就来看看这个功能如何帮助我们进行数据清洗的。
首先更新到最新版的 PowerBI Desktop,在预览功能中启用列分析。
然后在 Power Query 编辑器中可以看到数据与之前稍微有点不同,标题下方多了一个绿色的条,
在 PQ 编辑器窗口,点击【视图】选项卡,看到数据预览处多了两个新功能:列分发和列质量,
列质量
随便打开一个表,勾选"列质量",看看是什么效果,
可以看出自动对该列的数据质量进行了统计,区分为有效、错误和空值,并用不同的颜色进行区分,分别统计所占的比例,标题下方不同颜色的数据条长度也按不同类型的数据比例进行标示。
而一旦该列中含有错误值,颜色条直接用虚线标示,也许是因为错误值是不可容忍,必须进行相应处理。把鼠标悬停在该区域,自动浮出提示窗口,提示在[类别]中有一处错误值,
可以直接点击删除错误,然后该错误行将被删除。
同样,在有空值的列悬停鼠标,也会出现删除空的窗口,直接点击就可以将含有空值的行删除。
列分发
勾选"列分发",
可以看到每列直接出来一个迷你的柱形图,把该列数据非重复值的分布,直观的展现出来,并在下方统计该列该有多少个非重复值,多少个唯一值。鼠标悬停在该区域,还可以直接点击删除重复项。
通过这个功能是不是可以方便的知道数据的质量,并进行快速的整理呢。
不过遗憾的是,目前列分析功能只能针对前1000行进行分析,并不能分析全部的数据。
如果对行进行翻转,还可以分析最后1000行的数据质量,即使通过这种方式,也就仅仅能分析2000行而已,如果数据量较小还可以,而今天我们要面对的数据量,动辄可能都多出两个数量级都不止,所以这2000行的数据几乎可以忽略不计,但这个功能也绝不是摆设,我们同样可以利用这样的快速分析,对该数据质量有一个大致的预判,在数据清洗阶段应该分配多少精力也有个预期。
当然该功能除了数据量上的不足,对于分析的质量,也仅停留在空值、错误值、重复值和唯一值等表面的数据元素上,无法进行更智能的异常排查,但毕竟走出了第一步,期待PowerBI在这方面尽快有更成熟的动作。