使用分析扩展程序传递表达式

从版本 2021.2 开始,您可以为任何站点创建多个分析扩展程序连接。对于 2021.2 之前的版本,任何站点都只能使用单一分析扩展程序。

创建与分析扩展程序的连接后,您将通过计算字段与外部服务进行通信。每个计算字段都使用SCRIPT 表达式函数,作为表计算进行运算。

配置分析扩展程序

Tableau 允许通过一组 SCRIPT 函数连接到分析扩展程序。在将任何 SCRIPT 函数传递给分析扩展程序之前,您需要配置与服务的连接。

  1. 在 Tableau Desktop 中,单击“帮助”菜单,然后选择“设置和性能”>“管理分析扩展程序连接”

    选择要连接到的分析扩展程序。MATLAB 连接由分析扩展程序 API 管理。

  2. 选择并配置您的分析服务。

    • 如果您正在使用 Einstein Discovery,请选择“启用”。您的默认浏览器将打开,允许您授权与 Salesforce 的连接。连接后,转到帮助主题的Einstein Discovery部分以继续。
    • 对于所有其他服务(Tabpy、Matlab 和 RServe),将显示以下对话框。
  3. 使用域或 IP 地址输入或选择服务器名称。

    如果服务器使用 SSL 加密,请选择“需要 SSL”选项。Tableau 将读取安装在操作系统密钥存储中的证书,以建立安全连接。

    注意:Tableau 仅在连接到 TabPyRServe 时才支持 PEM 编码证书。

  4. 指定端口。

    • 端口 6311 是纯文本 RServe 服务器的默认端口。

    • 端口 4912 是 SSL 加密的 Rserve 服务器的默认端口。

    • 端口 9004 是 TabPy 的默认端口。

  5. 单击“测试连接”

  6. 单击“保存”

如果无法建立连接,则会显示错误消息。 单击消息中的“显示详细信息”查看服务器返回的任何诊断信息。

在 Web 制作中使用分析扩展程序

当您使用 Web 制作来创建或编辑工作簿时,选择“分析”>“管理分析扩展程序连接”,然后选择要用于工作簿的分析扩展程序。每个工作簿只能使用一个分析扩展程序。

Einstein Discovery

Einstein Discovery 是 Salesforce 中一个强大的分析工具,它利用机器学习提供见解和预测。Einstein Discovery 需要 Einstein Analytics Plus 许可证、Tableau CRM Plus 许可证或 Einstein Predictions 许可证,这些许可证需要额外付费。有关详细信息,请参见访问要求

有关 Einstein Discovery 的详细信息,请参见 Salesforce 帮助中的发现入门(链接在新窗口中打开)利用 Einstein Discovery 进行解释、预测并采取行动(链接在新窗口中打开)。您也可以通过 Trailhead(链接在新窗口中打开) 中的利用 Einstein Discovery 获得见解(链接在新窗口中打开)来扩展您的知识。

注意:Tableau 中的 Einstein Discovery 由 salesforce.com(链接在新窗口中打开) 提供技术支持。有关适用条款,请查阅与 salesforce.com(链接在新窗口中打开) 的协议。

将 Einstein Discovery m模型集成到 Tableau 中

将 Tableau 连接到 Einstein Discovery 分析扩展程序后,您可以将预测直接嵌入到计算字段和 Tableau 表扩展程序中。在 Salesforce 中,使用 Model Manager 自动生成 Tableau 表计算脚本,然后将该脚本粘贴到计算字段中,以供在 Tableau 工作簿中使用。表计算脚本通过调用预测 ID 和传递模型所需的数据来访问 Salesforce 中部署的预测模型。

注意:您可以选择在 Model Manager 生成的脚本中包含其他参数,以用于表计算或 Tableau 表扩展程序。有关详细信息,请参见向 Model Manager 生成的脚本添加可选参数

在计算中嵌入预测

  1. 打 Einstein Discovery Salesforce 帐户并导航到 Model Manager。选择一个要集成到 Tableau 中的模型。在模型选项卡上,选择“Edit Settings”(编辑设置)>“Create Tableau Table Calculation”(创建 Tableau 表计算)

    Model Manager 将生成一个脚本,其中包含要使用的预测定义的 ID、模型中使用的字段(变量),以及 Tableau 中的对应源字段。

  2. 单击“Copy to Clipboard”(复制到剪贴板)

  3. 在 Tableau 工作簿中,选择“分析”>“创建计算字段”,然后在计算编辑器中粘贴生成的脚本。

    将每个 ATTR 或 SUM 函数中的字段名称替换为 Tableau 数据中的匹配字段名称,然后保存计算字段。

    计算可以像任何其他 Tableau 计算一样使用。有关详细信息,请参见下面的SCRIPT 表达式函数

    当脚本运行时,它会向 Salesforce 中的预测定义发送预测请求(带输入数据)。Einstein Discovery 将结果返回 Tableau,该结果将显示在您的工作表或仪表板中。

在 Tableau 表扩展程序中嵌入预测

Model Manager 生成的脚本也可用于创建 Tableau 表扩展程序。若要将 Model Manager 生成的脚本用于表扩展程序,请删除脚本的 SCRIPT_REAL 部分,并仅包括在括号中包含的请求主体。

向 Model Manager 生成的脚本添加可选参数

您可以选择在 Model Manager 生成的脚本中包含其他参数。这些参数是完全可选的;该脚本可以使用或不使用它们。这些可选参数可以与计算字段或表扩展程序一起使用。

可选参数

语法

描述
maxMiddleValues"maxMiddleValues": integer

指定要在响应中返回的顶级预测因子的数量。

设置为整数。

只能与回归和二元分类模型一起使用。

maxPrescriptions"maxPrescriptions": integer

指定要在响应中返回的最大改进数量。

设置为整数。

只能与回归和二元分类模型一起使用。

showMultiClassProbabilities"showMultiClassProbabilities": boolean

选择是否显示多类分类模型的概率。

设置为 true 或 false。

只能与多类分类模型一起使用。

以下示例脚本显示了如何在计算字段的脚本中使用这些可选参数。

SCRIPT_REAL(
'{ "modelOrPredictionDefinitionId": "1ORB0000000HC3KOAW",
"columns": ["Postal_Code", "City", "Ship_Mode", "Row_ID", "Profit", "Category", "Sub_Category", "Order_Date", "Quantity", "Ship_Date", "Region", "Sales", "State", "Segment"],
"maxMiddleValues": 3,
"maxPrescriptions": 5,
"showMultiClassProbabilities": false }',
SUM([Postal Code]), ATTR([City]), ATTR([Ship Mode]), SUM([Row ID]), SUM([Profit]), ATTR([Category]), ATTR([Sub-Category]), ATTR([Order Date]), SUM([Quantity]), ATTR([Ship Date]), ATTR([Region]), SUM([Sales]), ATTR([State]), ATTR([Segment])
)

带有 Einstein Discovery 预测模型脚本的 SCRIPT_REAL 函数示例作为分析扩展程序添加到 Tableau 计算中,显示了可选参数的使用

下一个示例显示了将此脚本与表扩展程序一起使用。对于表扩展程序,仅在大括号中包含脚本。不要在大括号外包含 SCRIPT_REAL 函数和属性。

{
"modelOrPredictionDefinitionId": "1ORB0000000HC3KOAW",
"columns": ["Postal_Code", "City", "Ship_Mode", "Row_ID", "Profit", "Category", "Sub_Category", "Order_Date", "Quantity", "Ship_Date", "Region", "Sales", "State", "Segment"],
"maxMiddleValues": 3,
"maxPrescriptions": 5,
"showMultiClassProbabilities": false
}

添加到 Tableau 表扩展程序的 Einstein Discovery 预测模型的脚本示例,显示了可选参数的使用

RServe

R 是一种用于统计计算和图形的开源软件编程语言和软件环境。

实现 RServe 连接

Tableau Desktop 可通过纯文本或 SSL 加密的流量连接到 R。有关要使用哪种类型的指引,请咨询您的系统管理员。

注意:对于 R 集成,Tableau 已使用 R 版本 3.4.4 至 3.5.1 以及 RServe 版本 0.6-8 至 1.7.3 进行了测试。

RServe 分析扩展程序的中间证书链

注意:用户不必使用 Tableau Server 将 Tableau Desktop 连接到 RServe。

自 Tableau Server 版本 2020.1 起,必须在通过 Tableau Server 连接到 Rserve 外部连接的 Tableau Desktop 计算机(Windows 和 Mac)上安装完整的证书链。此要求是由 Rserve 在安全连接上管理握手的方式所确定的。

在 Tableau Desktop 上导入根证书是不够的,必须将整个证书链导入到客户端计算机上。

MATLAB

MATLAB 是一种通过“分析扩展程序 API”进行连接的高级语言,它使您能以比使用传统编程语言(例如 C、C++ 和 Fortran)更快的速度执行计算密集型任务。您可以在各种各样的应用中使用 MATLAB,包括信号和图像处理、通信、控制设计、测试和测量、金融建模和分析,以及计算生物学。有关如何配置 MATLAB 服务器以使用 Tableau 的信息,请与 MATLAB 支持联系。

若要阅读有关在 Tableau 中使用 MATLAB 的可能性的更多信息,请参见使 MATLAB 模型和算法在 Tableau 中起作用(链接在新窗口中打开)

TabPy

Python 是广泛使用的高级编程语言,用于一般用途编程。通过向分析扩展程序发送 Python 命令,您可以执行预测客户流失或运行情绪分析等操作。

Tableau Python Server (TabPy) 是 Tableau 的扩展选项扩展范围的一部分。若要安装 TabPy,请访问此 GitHub 页面(链接在新窗口中打开)。若要阅读有关在 Tableau 中使用 Python 的可能性的更多信息,请参见使用 TabPy 构建高级分析应用程序(链接在新窗口中打开)

SCRIPT 表达式函数

在 Tableau Desktop 中,可以使用一组四个 SCRIPT 函数将表达式传递到分析扩展程序并获取结果。这些函数包括:

SCRIPT_BOOL

SCRIPT_INT

SCRIPT_REAL

SCRIPT_STR

有关详细信息和示例,请参见SCRIPT_BOOL

由于连接到分析扩展程序涉及一些网络开销,因此通常最有效的做法是尽可能一次性传递所有数据,而不是以单个行值的形式传递数据。举例来说,如果您将寻址设置为“单元格”(例如,通过单击视图中的字段并选择“计算对象”>“单元格”),Tableau 将按行(由可视化项中的每个标记创建)单独调用分析扩展程序。根据数据的大小,这可能会导致非常大量的单独调用。

确保对分析扩展程序进行有效调用的最简单方法是导航至“编辑表计算”并选择“特定维度”,然后选中每个维度旁边的框以对该维度进行寻址。这将为整个可视化项生成一个分析扩展程序调用。任何未选中的维度都将被分区,从而为可视化项中的每个成员生成一个单独的调用。如果可视化项中有许多标记,则在选择维度时选择“暂停自动更新”可能是有利的,以防止在正确运算之前频繁进行计算。

直接查询外部分析模型

一系列四个函数可以直接查询分析扩展程序中部署的模型。这可以使您不必将冗长的计算写入脚本函数。这些函数统称为 MODEL_EXTENSION 函数,就像上面提到的脚本函数一样,有四次迭代:

MODEL_EXTENSION_BOOL

MODEL_EXTENSION_INT

MODEL_EXTENSION_REAL

MODEL_EXTENSION_STR

这四个函数的不同之处仅在于它们返回的值。例如,MODEL_EXTENSION_BOOL 函数返回一个布尔值。为了使用 MODEL_EXTENSION 函数,您需要在外部分析服务中部署模型,并且外部分析服务必须允许直接查询该模型。

注意:目前,只有 TabPy 模型支持 MODEL_EXTENSION 函数。

MODEL_EXTENSION 函数的一部分

A. 您正在调用的模型。模型名称必须与部署的模型匹配。
B. 模型的输入。与您的管理员沟通,了解您正在使用的模型需要哪些输入。
C. 从 Tableau 传递到模型的值。

有关详细信息和示例,请参见表计算函数

因为这些e SCRIPT 函数是表计算,所以寻址和分区概念适用。(有关这些概念的说明,请参见基础知识:寻址和分区。)Tableau 会对每个分区调用一次分析扩展程序。这意味着对于计算分区的每个维度,将为可视化项中存在的该维度的每个成员进行一次调用。因此,除非必须进行分区,否则建议将维度放在寻址上。

共享需要分析扩展程序连接的工作簿

您可能需要将包含分析扩展程序功能的工作簿发送到其他用户,这些用户可能在其他计算机上使用 Tableau Desktop 的不同副本。或者,用户可从 Tableau Server 下载包含分析扩展程序功能的工作簿。如果与某人共享您的工作簿,他们必须在其计算机上配置分析扩展程序连接。

发布需要分析扩展程序连接的工作簿

成功发布后,您必须选择要与工作簿关联的已配置分析扩展程序。

感谢您的反馈!您的反馈已成功提交。谢谢!