前言

Python很强大,有些复杂的Excel操作,python只要一两个语句就可以了。 但Python使用门槛高,要安装软件以及各种模块库。很多时候我们只想轻量级地使用python功能,有什么简单的办法呢? Smartbi智分析提供web python功能,无需安装任何软件就能在浏览器内执行python脚本;还提供Excel插件,能够轻松将python执行结果取回到Excel。

下面以基础的数据筛选为例,让大家可以快速入门智分析的python功能,领略到python的数据分析魅力。

Smartbi智分析,让Excel轻松接入强大的Python功能

数据源

我们要先用到一份EXCEL示例文件,在这里我选用了一份电商订单明细表,数据已脱敏:

Smartbi智分析,让Excel轻松接入强大的Python功能

EXCEL筛选

如果在EXCEL里进行筛选,我们一般方法是利用EXCEL自身的筛选功能,在弹出的筛选界面里用鼠标进行勾选,例如我们要筛选“订单日期”为2010年的和“订单等级”为高级的:

Smartbi智分析,让Excel轻松接入强大的Python功能

Smartbi 智分析里使用python进行筛选

加载数据

由于智分析的ETL是在网页端上进行处理的,我们首先要做的就是先把本地的数据源导进智分析平台里,在智分析数据连接的界面里便可以快速把数据源导进来。除了本地的数据文件外,智分析也支持mysql、阿里云等关系型数据库的连接。打开ETL的界面,把关系数据源的组件拉拽到展示区里,根据存放路径找到您的数据源:

Smartbi智分析,让Excel轻松接入强大的Python功能

鼠标右键点击关系数据源的“查看输出”我们可以对数据源的输出效果进行预览:

Smartbi智分析,让Excel轻松接入强大的Python功能

Python

当完成了数据连接后,接下来就可以利用智分析ETL里自带的python脚本对数据进行各种处理,我们先把python的组件拉拽到中间的展示区,并与上面的关系数据源进行相连:

Smartbi智分析,让Excel轻松接入强大的Python功能

点击python的输入框进行查看,可以看到这里的输入框与pycharm等软件的输入框基本一样,只要熟悉python的小伙伴都可以轻松上手,而且系统已经提前输入了部分脚本,这些代码是系统默认自带的,无需自己写,非常贴心。大家可以看到,提前写好的脚本主要是调用numpy、pandas这两个库以及定义了函数:

Smartbi智分析,让Excel轻松接入强大的Python功能

根据上述提到的需求,我们目的主要是对订单日期以及订单等级这两个字段进行筛选,我们首先先定义两个变量cond与cond1,cond在此处调用了pandas的pd.to_datetime()函数,这是pandas的时间处理函数,后面dt.year要筛选的结果就是年份等于2010年。接下来cond1要筛选的条件就是column4=高级,因为两者是and的关系,写完这两句脚本后,还要用&把这两个条件连接起来。

Smartbi智分析,让Excel轻松接入强大的Python功能

脚本写完后,点击确定,最后我们看一下python脚本执行后的效果,第二列的订单日期显示为2010年,订单等级显示为高级,只需写3行代码,我们的筛选需求已经实现了:

Smartbi智分析,让Excel轻松接入强大的Python功能

数据输出

我们再利用ETL的输出功能,对该份报表执行保存和输出,为了方便在EXCEL中对数据源进行调用,这里要输出的数据源类型为数据集。首先在ETL的界面里把“输出到数据集”拉拽到中间的展示区里,并与上面的组件进行相连:

Smartbi智分析,让Excel轻松接入强大的Python功能

然后鼠标右键点击“输出到数据集”,选择“执行到此处”,数据集便会成功保存在智分析的云端上:

Smartbi智分析,让Excel轻松接入强大的Python功能

数据回到EXCEL

最后回到EXCEL里,在数据集面板里找到刚刚保存好的数据集,点击该数据集,并用鼠标把数据集中的字段拉拽到EXCEL里:

Smartbi智分析,让Excel轻松接入强大的Python功能

点击工具栏上的刷新,数据便会全部刷新出来,我们可以看到“订单日期”以及“订单等级”这两个字段已经实现了筛选后的效果:

Smartbi智分析,让Excel轻松接入强大的Python功能

下篇预告

本文从 Excel 筛选角度介绍了简单的应用,下一篇将讲解更复杂的应用,先看看有哪些复杂需求:

· 订单日期筛选2010的订单

· 订单等级筛选高级

· 利润金额前10的订单

下篇将解决以上问题,敬请关注