熟悉 TabPy 的运作与使用方法之後,下一步便是开发属於自己的 Model。若直接使用 TabPy 与 Tableau Desktop 来开发,很快会发现这样的开发流程将会是一个问题,因为资料是直接从 Tableau Desktop 来的,导致我们无法像平常开发 Python 一样,修改程序後马上运行查看结果,造成诸多不便。因此这里要分享个人平时开发 TabPy Model 的流程,提供给读者参考。
首先,需要解决资料源的问题,因为我们开发的时候不太可能一边写 Python 一边操作 Tableau Desktop 来查看运算结果,除非程序逻辑很简单,否则将会耗费大量时间在来回操作上。这里提供一个替代方案,先从 Tableau Desktop 先将资料汇出成 csv 档,再使用 Python 读档案做为资料源。
在 Data
Menu 中选择资料集 (此例为 Sample - Superstore
) 并点选 View Data...
,先切换至要汇出的资料表页签 (此例为 Orders
),再点击 Export All
按钮汇出 csv 格式的资料集档案
在 Python 中我们可以使用 pandas
套件来读取 csv 文字档,为了迎合 TabPy 的资料型态,需将会使用到的资料栏位转换为 List 型态。再建立我们要布署的函式,并将资料输入测试运算结果
import pandas as pd
# read csv file
df = pd.read_csv(r'C:\Users\wrxue\Downloads\Sample - Superstore_Orders.csv')
# convert Sales and State Series to list
sales = df['Sales'].tolist()
state = df['State'].tolist()
# create your own function
def testStr(data1, data2):
return [f'{x[1]} 的销售额为 {int(x[0])}' for x in zip(data1, data2)]
# test testStr function
print('\n'.join(testStr(sales, state)))
{% note info %}
再次提醒,所有输入函式的参数都应为 List 型态,最符合 TabPy 的使用情境
{% endnote %}
执行并观察输出,若为预期中的结果,即可参考 [Day25] Tableau 轻松学 - TabPy 使用方法 2 进行布署函式流程
District of Columbia 的销售额为 40
Massachusetts 的销售额为 40
Rhode Island 的销售额为 592
...
...
...
California 的销售额为 3023
Arizona 的销售额为 599
Colorado 的销售额为 2549
这样的开发流程是依照个人的开发经验分享给各位读者的,但不代表说一定要这样做,若有更简便的方法欢迎至下方讨论区留言分享,让我们能一起学习与进步。
<<: 【踩坑】animation 选单按钮动起来(实作篇)
>>: [Tableau Public] day 27:台湾姓氏分布分析-5
组合技 Drone + godog + Mattermost 当有需求要在k8s上透过drone定期...
我们现在有了基本的日志,但是每次输入完重整页面都会刷新,因为这些资料都只存在於浏览器,没有真正储存到...
Schedule Script execute Map/Reduce Script getInput...
作业系统L1-概说 电脑系统结构 硬体(Hardware)–提供基本运算资源 CPU, 记忆体, I...
上一篇我们成功安装完 GraphQL client,并在首页显示出文章列表了。功能做完,接下来要来切...