表扩展程序
表扩展程序允许您使用分析扩展程序脚本创建数据表。您可以编写一个自定义 TabPy 或 Rserve 脚本,并可以选择添加一个或多个输入表。
注意:每次打开工作簿或刷新数据源时,表扩展程序都会刷新。
好处
表扩展程序对新用户和有经验的用户都有以下好处。
- 轻松地将脚本或高级功能集成到 Tableau 中
- 轻松地将 Tableau 数据连接中的数据作为输入拖到脚本中
- 低代码编辑器使向数据源添加代码变得容易
- 与数据指南和“数据解释”功能集成
- 与 TabPy、Rserve 和其他分析扩展程序集成
- 结果可用于构建仪表板或可视化项
先决条件
必须先完成以下列表,然后才能使用表扩展程序。
- 在 Desktop 或 Web 制作中打开数据源。
- 配置分析扩展程序
- 有关配置分析扩展程序连接的步骤,请参见使用分析扩展程序传递表达式。
创建表扩展程序
若要创建表扩展程序,请完成以下步骤。
- 打开工作簿。
- 打开数据源或创建数据源。
- 在“连接”下,选择“新建表扩展程序”。
- 将工作表拖到数据模型中。
- (可选)将表从数据连接拖到表扩展程序窗格中,以用作分析扩展程序脚本或函数的输入。
默认情况下,来自 Tableau 的,数据被传递到分析扩展程序并定义为
variable _arg1
,一个类似字典的结构,例如:{‘column_name’: [1,2,3], ‘column_name_2’: [3,4,5]
- Python 输入数据可以使用以下方法将输入数据转换为 pandas 数据:
import pandas as pddf = (pd.DataFrame(_arg1))
- Rserve 输入数据:输入数据被定义为
variable.arg1
,数据类型是列表的命名列表。 - 自定义 SQL 输入数据:对于受支持的关系数据源,您可以使用自定义 SQL 作为表扩展程序的输入。在自定义 SQL 查询中使用参数时,更改参数会导致查询重新运行并重新计算脚本。这将创建一个路径来动态更新仪表板中的参数,并筛选或以其他方式将值传递给表扩展程序脚本。
注意:如果在表扩展程序中使用了参数,则在从扩展程序中移除该参数之前,无法删除该参数。删除表扩展中调用的参数可能会触发致命错误。
- Python 输入数据可以使用以下方法将输入数据转换为 pandas 数据:
- 在“脚本”下,输入您的脚本或函数调用。该脚本必须返回字典或列表的列表,例如 JSON 对象。RServe 的脚本必须返回 data.frame 或命名列表的列表。Python 脚本必须返回一个字典。
- Python 示例:使用以下显式 return 命令:
return df.to_dict(orient='list')
注意:如果在 TabPy 中禁用了 TABPY_EVALUATE_ENABLE,则表扩展程序不支持直接调用 TabPy 端点。
- Python 示例:使用以下显式 return 命令:
- 选择“应用”运行脚本。
- (可选)如果您将表扩展程序与数据模型中的另一个表相关联,请定义每个表中至少一个字段之间的关系。
- 在数据网格中的“输出表”下, 选择“立即更新”。结果将出现在“输出表”选项卡中。
注意:如果您没有在数据模型中定义与表的关系,则“输入表”选项卡为空,并将显示消息“数据预览不可用”。
- (可选)在“名称”字段中,输入新的表扩展程序的唯一名称。
- 转到“工作表”选项卡以开始探索和可视化数据。
- 发布工作簿以共享。发布目标必须启用和配置适当类型的分析扩展程序。
故障排除提示:如果您的表扩展程序遇到错误,请首先确保所有代码和格式正确。然后尝试使用工具栏中的圆形“刷新数据源”按钮或再次单击“应用”。
比较扩展程序类型
虽然以下产品中的一些并不相关,但表扩展程序和分析扩展程序有几个共同的功能。表扩展程序功能依赖于与分析扩展程序的连接才能工作。让我们来分析一下每个功能。
仪表板扩展程序
仪表板扩展程序允许使用仪表板扩展 SDK 将自定义 Web 应用程序添加到仪表板。
表扩展程序
表扩展程序允许您在数据源中创建一个表,该表可以将数据和脚本发送到您的分析扩展程序,并返回完整表作为结果。返回的结果在数据模型中显示为表,并在工作簿中显示为度量和维度。
分析扩展程序
分析扩展程序功能允许您使用编程语言(如 Python、外部工具和外部平台)扩展 Tableau 计算。
创建与分析扩展程序的连接后,您可以通过称为 SCRIPT_X
或 MODEL_EXTERNAL_X
, 的计算字段与外部服务器通信,其中 X
是预期返回值的数据类型。有关详细信息,请参见使用分析扩展程序传递表达式。