Tableau Prep 正在被越来越多的数据粉使用,作为专业的数据准备工具,Prep 提供了常用的数据处理功能,例如分组、转置、计算等,还提供了对 R 语言和 Python 脚本的支持。
● 之前分享过栗子:用 Prep 轻松实现数据去重、用 Prep 数据去重的三种场景、用 Prep 正则表达式拆分复杂字段。
不过,有一些复杂的场景,比如:需要计算相关系数,Tableau 本身提供的相关系数计算方法 CORR() 只能一次计算两个字段的相关系数,如果遇到需要建立相关系数矩阵的情况,处理起来就比较麻烦。
这种情况,可以通过 Prep 调用Python 脚本来加速数据清理,实现对多个字段计算皮尔逊相关系数( Pearson correlation coefficient,更多信息可自行了解)。
如何在Prep 调用 Python 脚本?今天的学起来!
本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:在 Prep 中调用 Python 处理复杂数据。
为方便学习,栗子使用 Tableau 自带的“示例-超市”数据。掌握栗子方法后,数据粉可尝试使用自己的数据源。懒癌患者可通过以下链接获取栗子数据源:
https://www.dkmeco.com/cms/course/detail/539
具体步骤如下:
1、安装 Python
首先,安装 Python 。因为 TabPy 暂不支持最新版本的 Python,所以安装 Python3.7 即可(安装步骤不赘述,教程可自行上网搜索)。
安装 TabPy(Python 的扩展包),用于 Tableau 与 Python 进行数据交互。另外,由于数据是以 pandas.DataFrame 格式存储的,所以需要同时安装 pandas。
此时,可以使用浏览器访问 http://localhost:9004/,会出现 TabPy 的欢迎页面。
2、编写脚本
接着,需要编写计算相关系数的 Python 脚本,以供 Tableau Prep 调用。
➤ 脚本首先必须引入 pandas ,才能识别 Tableau Prep 传递的数据。
➤ 创建 get_output_schema() 方法,Tableau Prep 需要该访问指明返回的数据对象格式。
prep_string() 和 prep_decimal() 都是 Prep 支持的数据类型的名称,直接写即可。附 Prep 的数据类型如下:
➤ 创建计算相关系数的方法,input 是 prepy 调用该方法时传入的数据对象,即该脚本步骤所传入的数据表。
编写完成后,保存文件名为 tabpy.py。
3、Prep 调用 Python
然后,打开 Tableau Prep,单击顶部菜单栏“帮助”,下拉菜单选择:设置和性能-管理分析扩展程序连接。
键入第二步建立的 TabPy 服务器信息,分析程序类型选择 Tableau Python(TabPy) 服务器,服务器填默认:Localhost, 端口默认:9004,用户名和密码没有设置的可以不用填写。
4、构建数据矩阵
最后,在 Prep 中建立流程。
使用“示例-超市”数据集中的订单数据,取用“销售额”、“数量”、“折扣”、“利润”四个度量字段。
新建一个脚本步骤:单击数据表右侧
按钮,下拉菜单选择:脚本。
连接类型选择:TableuPython(TabPy)服务器,选择第三步保存的 tabpy.py 文件,并填写 get_corr 方法名。
完成后,就可以在右侧窗口看到销售额等四个字段的相关系数矩阵。
本期的 Tableau 技巧,你 Get 到了吗?赶快试试看吧!
下一期《举个栗子》,再会~
文章部分信息来源于网络,如有侵权请告知