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!

这???

最后,我们讲一下处理后数据的导出。数据处理完成之后,我们可以选择输出数据。如果我们选择“输出数据”,则结果就以超级表的形式输出到新建的工作表当中。

如果我们选择“其他输出方式”,可以看到很多选项:若最终结果作为透视表的数据源,我们直接选为透视表就行;如果结果作为中间表,我们一般选择仅创建连接即可。

广东省
浏览 426
收藏
11
分享
11 +1
10
+1
全部评论 10
 
简.单
这测评含金量很高,用心了
· 河南省
回复
 
Vicky
学习
· 上海
回复
 
风清月霁
风清月霁

WPS产品体验官

学习
· 河南省
回复
 
破浪
请问怎么申请下载内测包
· 贵州省
回复
阿武
阿武

WPS函数专家

活动地址在这边:https://bbs.wps.cn/topic/64789,不过现在官方暂时停止入群了。
· 广东省
回复
 
峰格
不错
· 山东省
回复
 
r-liam
对大数据量的处理怎么样?老师做过测试吗?
· 河南省
回复
阿武
阿武

WPS函数专家

目前还是不稳定,所以就没测试了。用于生产环境肯定不行的,大数据量估计够呛。
· 广东省
回复
 
HC.旋
跟着老师学
· 福建省
回复
阿武
阿武

WPS函数专家

· 广东省
回复