1. 首页
  2. 自学中心
  3. 数据可视化

tableau调用python脚本

酷酷的章鱼哥

tableau是什么,我就不解释了,做数据分析工作的人基本都知道,配合python灵活强大的机器学习算法,是分析师进阶的神器。

(近来笔者阅读文献发现很多人写技术文章相当啰嗦,明明一两句话就可以说清楚的事情偏要像八股文一样写几千字的文章,浪费读者大量时间,笔者先在这里鄙视一番)

但由于步骤较多,先写目录

话不多说,敲下黑板,进入重点

一、tabpy下载安装

二、tabpy_server部署

三、tableau 连接配置

四、用tableau向tabpy_server发送python脚本

五、在tabpy_server上部署python脚本

六、tableau调用tabpy_server上已部署的脚本

七、常见错误

一. tabpy下载安装

1.github.com/tableau/TabP

tableau调用python脚本
下载zip文件,windos运行压缩包中的setup.bat, linux运行setup.sh

2.anaconda环境下安装

tableau调用python脚本
environments中搜索tabpy,安装tabpy_client和tabpy_server两个模块

3.python环境下安装

pip install tabpy_server

pip install tabpy_client

二. tabpy_server部署

  1. 找到tabpy_server的安装目录,笔者用anaconda安装,目录在

E:\Program Files\anaconda3\Lib\site-packages\tabpy_server

具体参考自己anaconda的安装目录

如果是windos系统,运行startup.bat

如果是Linux或MAC系统,运行startup.sh

tableau调用python脚本
也可以在当前目录运行CMD然后输入 python tabpy.py

笔者是windos系统,并把tabpy部署在本机,可以把startup.bat创建桌面快捷方式,经常会用到.想要用tableau运行python代码,首先得启动tabpy服务器

tableau调用python脚本
显示这个信息代表服务器启动成功,开始监听9004端口

三. tableau 连接配置

打开tableau,帮助>设置和性能>管理外部服务连接

tableau调用python脚本
服务器设置为localhost或127.0.0.1端口默认9004

点击测试连接,弹出成功,连接后点 确定 客户端连接服务器便设置完成

四、用tableau向tabpy_server发送python脚本

1.新建一个计算字段(分析>创建计算字段)

tableau向tabpy服务器发送代码的函数有四个,SCRIPTINT、SCRIPTREAL、 SCRIPTSTR 、SCRIPT_BOOL,分别代表返回整型、返回实数、返回字符串、返回布尔类型。

这四个函数运用格式都一样,比如:

SCRIPT_STR(“python代码”,参数1,参数2…)

在python代码段中,必须有返回值,返回什么类型根据调用的函数来确定,在Python代码中,所有要传递的参数都用 _arg# 来表示,比如有两个参数,就用_arg1, _arg2,与后面的参数1,参数2一一对应。如创建下面的计算字段:

测试数据:

tableau调用python脚本

计算字段:

tableau调用python脚本
tableau传入的参数与python表达式中的参数一一对应,用不同颜色的方框标识

运算结果:

tableau调用python脚本

如果想聚合显示,可以把 分析>聚合度量 的”√”选上

tableau调用python脚本
结果就变成32这个单独的值

五、在tabpy_server上部署python脚本

上面的方法可以运行一些简单的python函数,如果想要重复使用,可以把函数部署在tabpy服务器上,随时都可以调用

启用jupyter-notebook或者pycharm,写一个函数,比如:

tableau调用python脚本

运行看一下:

tableau调用python脚本
传入两个列表试试,结果没问题

六、tableau调用tabpy_server上已部署的脚本

tableau调用python脚本

查看返回结果:

tableau调用python脚本
结果为5,7,9,11,跟上面一样

整个过程已经讲完,本来想再加入一个tableau调用python机器学习的案列,太困了,以后再加吧!整个过程跟五、六步一样,感兴趣的同学可以先自己尝试一下!

六、常见错误:

外部服务连接疑难解答

如果尝试的过程中遇到什么问题也可以在下方留言!

参考:

  1. github.com/tableau/TabP
  2. github.com/tableau/TabP
  3. Tableau and Python Integration
  4. 使用TabPy构建高级分析应用程序
  5. Tableau 高级 | TabPy使用
  6. Tableau Integration with Python – Step by Step

本文来自zhihu,观点不代表一起大数据-技术文章心得立场,如若转载,请注明出处:https://zhuanlan.zhihu.com/p/54766875

联系我们

在线咨询:点击这里给我发消息

邮件:23683716@qq.com

跳至工具栏