WPS内测中的数据查询清洗器初体验

WPS函数专家
在微软的Office家族中,Power Query以插件的形式作为轻量化的ETL工具而存在,微软把常见的功能封装成简单界面的操作,使得一些看似复杂的操作只需鼠标点点就可以实现,而无需书写一行代码。同时呢,Power Query包含了种类繁多的M函数,它们可以配合Power Pivot实现从数据清洗、转换到建模的全流程,迎合了部分高级用户的需求。因此,自从它诞以来就广为好评,也成为了Office区别于WPS一个大功能卖点。
WPS在近一两年紧跟步伐,不但快速更新功能强大的数组函数,也推出接连好用的独有函数,还将AI功能无缝嵌入于办公全流程中。在此前用户反馈中,呼声比较高是推出一项与Power Query类似功能入口,可以实现诸如分组聚合、透视与逆透视、合并查询等最常见的功能。原以为这可能是一件重新开发的大工程,没想到九月初,WPS就放出了Demo版本,它终于有了自己的数据清洗工具——“查询清洗器”!
整体使用下来,这个被称之为WPS的Power Query,功能上还是存在不少的欠缺,可以说是相当的简陋,还存在不少的bug,离正式推出估计还是有比较长的路要走。但不管如何,这是一件可喜可贺的事情,WPS终于有对标Excel的数据查询清洗工具了。
下面,我将在体验的过程中介绍在目前的内测版本中已经实现哪些功能,以及类比于Excel的Power Query,它的优缺点分别是什么。
功能入口——数据导入
在“数据”选项卡下面的“数据获取”是其主要入口,如果想进入其后台编辑页面可以选择“启动数据查询清洗器”:
从文件获取:可以导入外部文件,支持的文件后缀如下图所示:
通过文件获取方式导入的文件,WPS会自动识别工作簿中各个工作表,识别工作表中存在数据区域的部分。比如说,源表格的存在数据区域的部分如下:
识别之后的结果则如下:
这里有很多null是因为源表格的下面还有数据,我们在导入之前可以通过拉动表头线和勾选列名的方法,选择我们需要的表格。表头线上面的表格除了临近一行,其他的行都会被删除,这点的体验感确实比Excel好。
导入后可以在步骤窗格中看到WPS自动做了好几个清洗的步骤:
从表格或区域获取:可以导入本工作簿中的区域或超级表,如果是区域在导入之前自动转为超级表:
这里的有一个筛选按钮的选项,经测试确认:勾选之后自动转化成的超级表带有筛选的按钮,不勾选则没有。这个选项放在这边完全不知道意欲何为,个人感觉纯属多余。
从其他数据源获取:有两个比较大的选项:一个是导入数据,一个是自网站链接。下面分别展开说明。
导入数据主要是导入数据库和文本类的文件,具体可以导入类型如下图所示:
自网站链接:我开始还以为WPS也内置了简单的爬虫工具,结果打开网页,连表格的选择的按钮都没有,而且导入后文本非常乱,刷新时间非常久,聊胜于无吧。
启动数据查询清洗器:进入WPS数据清洗的界面:
这里必须吐槽一下:上面的工具栏居然都放在一行,我这15.6英寸的笔记本依然显示不全,需要点击右边的三角形箭头才能展开被折叠的功能按钮,和Excel中的Power Query比起来,确实差了点意思。
连接数据库:这个按钮和从其他数据源获取基本一致,个人感觉是功能性重复。
跨工作表链接:这个功能挺有意思,可以大概了解到WPS开发者没有再开发一个新的数据引擎,而是通过某种方式调用了微软的Mashup引擎:
编辑连接属性:未测试,估计是连接数据库文件设置连接参数的。
数据区域属性:用以设置导出超级表刷新功能和数据格式和布局。
主功能区——数据清洗转化
在开始介绍之前,我们先来看看主功能区的布局:
布局介绍
我们可以通过左边“连接”侧边栏中的“获取数据”的按钮不断导入外部数据,当然我们可以通过仅导出连接的方式多次从本工作簿的超级表导入。对于已经导入的连接,我们可以双击查询名称进行重新命名:
也可以选中查询后右键进行:重命名、创建副本、删除连接的操作:
对于导入后的表格,我们可以按住Ctrl或Shift键进行多选,在右键菜单可以进行的操作如下:
接着我们再来看看步骤窗格,当我们鼠标移到上面的时候,除了数据源之外都有删除的按钮(垃圾桶),个别有可以编辑的按钮(铅笔):
也可能同时出现:
编辑的按钮可以让我们返回此前的操作步骤,绝大多数是界面操作。当然了,里面如果有代码,点击编辑按钮也可以进行代码的重新书写。此处自然没有Excel中的Power Query里面的公式栏来得方便。
接下来,我们来介绍工具栏中几个核心功能:
分组聚合
在点击分组聚合按钮前,我们可以先选中分组依据的列,比如“姓名”列,然后再点击分组聚合按钮,就会出现下面对话框:
如果我们不选中任何列,也可以选择分组值(这里的“分组值”我觉得有歧义,建议改为分组依据列):
接下来选择聚合方式为求和、平均值、中位数、最小值和最大值时,“数据来源”处才可以选择需要聚合的行。这里的“聚合方式”我选择“求和”:
如果选择其他选项,聚合的结果与具体的行无关,所以“数据来源”不可以被选择:
选择“数据来源”时,也就是需要聚合的列时,我选择“成绩”列:
当然我们可以点击下面的增加判断条件(这里亦表述不妥),可以新建更多聚合列:
透视与逆透视
我们可以选中列,然后再点击工具栏的透视列:
然后选择聚合方式和聚合列:
最终的结果是这样子:
然后我们可以选中“姓名”列,把它逆透视回来,这时候可以在菜单栏选择,也可以右键选择。
然后又变成这样子:
列名我们可以双击进行修改,记得用微软输入法,搜狗输入法无法输入!!
合并查询-横向拼接表格
比如说,我们要把名册信息匹配到成绩表:
我们可以选中成绩表后,选择合并——左右合并:
然后添加需要合并的表格:
WPS会自动识别匹配的键为“姓名”列,然后我们可以选择合适的合并方式:
合并方式以图形化界面展示,很容易直观理解,大大地好评!
我们选择左合并之后变成Table的形式:
我们可以展开列,这里,我们取消“姓名”列的勾选:
这里的Table没有Excel中那种预览,这个给个差评:
虽然这里我们可以单击查看预览结果:
但是软件不稳定,时不时导致步骤缩减为一步,或者报错后返回合并查询之前结果,真是要命!
最终,我们得到类似于VLOOKUP函数匹配的结果:
追加查询-纵向拼接表格
它可以按照列名对齐从上到下拼接成新表:
我们选择成绩表1,再选择"上下合并到新连接":
选中的表格在这个界面自动导入,这时候我们只需选择要合并的数据源即可:
这里切记不要把成绩表1再勾选进来,WPS设计确实容易让人误解,还不够友好!
然后我们选择确定:
最终,我们得到这样的表格:
计算列
计算列的名称我觉得并不准确,建议改为新增列更为合适。因为在WPS数据清洗器中,既没有公式栏,也没有高级编辑器,目前可以输入函数的地方就在这个计算列了。
比如说,我想新增一列,把所有人成绩都加2分,我们可以选择计算列,然后输入:tableadd,在输入的过程中会自动联想匹配:
表名和字段都可以直接选择:
最终写成这样子:
细心的读者注意到,在对话框和函数中都有列名!我们确定后,再来看就知道了:对话框中的列名作为新增后的列名(自定义)!
这时候的Table我们无法像合并查询那样子展开,但是可以单击Table字样:
单击Table后列名变成我们在函数里面写的列名(新增),同时步骤窗格也新增了一步!
只是现在目前大多数的M函数无法使用,比如说:
展开之后是这样子的新列都是null!
这???
最后,我们讲一下处理后数据的导出。数据处理完成之后,我们可以选择输出数据。如果我们选择“输出数据”,则结果就以超级表的形式输出到新建的工作表当中。
如果我们选择“其他输出方式”,可以看到很多选项:若最终结果作为透视表的数据源,我们直接选为透视表就行;如果结果作为中间表,我们一般选择仅创建连接即可。
WPS产品体验官
WPS函数专家
WPS函数专家
WPS函数专家