编写数据函数
数据函数是由内部 Spotfire 数据引擎之外的其他引擎执行的计算。作为脚本作者,您可以通过将数据函数定义保存到库中来创建数据函数,组织中的其他作者可以在自己的分析中重用这些数据函数。创建数据函数时,可以编写详尽的描述以及使用定义明确的参数名称或显示名称来帮助其他人并提高共享效率。
关于此任务
数据函数作者通常会将数据函数添加到特定分析中,以帮助最终用户了解应如何使用该数据函数,并纳入特定数据源或所需字段的实际映射。
在开始创建自己的数据函数之前,请阅读什么是数据函数?来了解各种概念。了解数据函数定义(包括脚本和参数)和数据函数实例(在 Spotfire 分析中使用数据函数时,数据函数实例是定义的输入和输出的映射)之间的区别尤其重要。
开始之前
- 注册数据函数
可以使用数据函数将用 R 或其他语言编写的计算添加到分析中,从而增强 Spotfire 的功能。数据函数使用统计引擎来执行,例如 Spotfire® Enterprise Runtime for R(又名 TERR™)引擎、开源 R 引擎或 Python 解释器。注册了函数并将其保存到库中后,便可在任何分析中使用该函数,而且脚本作者以外的其他用户也可以使用该函数。 - 数据函数属性
数据函数在分析中执行后,会作为数据函数实例存储在文档中。如果多次运行同一数据函数,分析中会有此数据函数定义的多个不同实例。可以编辑已添加的实例,例如在需要将输入更改为不同的类型或值时。 - 数据类型映射
下方的列表显示了可用的数据类型及其映射。 - TERR 工具
Spotfire® Enterprise Runtime for R(又名 TERR™)是一款兼容开源 R 的高性能统计引擎。 - Python 工具
Python 是一种经过解释的高级通用编程语言。Python 解释器随 Spotfire 安装一起提供,以便您可以编写脚本并运行数据函数来创建预测模型。提供 Python 工具是为了使您可以访问 Python 解释器来测试脚本。Python 工具还提供了一个界面,用于从 PyPI 程序包存储库下载和安装程序包。 - 名称解码脚本
如果要生成关于列的文本报告,R 解码脚本则非常有用。
- 注册数据函数
可以使用数据函数将用 R 或其他语言编写的计算添加到分析中,从而增强 Spotfire 的功能。数据函数使用统计引擎来执行,例如 Spotfire® Enterprise Runtime for R(又名 TERR™)引擎、开源 R 引擎或 Python 解释器。注册了函数并将其保存到库中后,便可在任何分析中使用该函数,而且脚本作者以外的其他用户也可以使用该函数。 - 数据函数属性
数据函数在分析中执行后,会作为数据函数实例存储在文档中。如果多次运行同一数据函数,分析中会有此数据函数定义的多个不同实例。可以编辑已添加的实例,例如在需要将输入更改为不同的类型或值时。 - 数据类型映射
下方的列表显示了可用的数据类型及其映射。 - TERR 工具
Spotfire® Enterprise Runtime for R(又名 TERR™)是一款兼容开源 R 的高性能统计引擎。 - Python 工具
Python 是一种经过解释的高级通用编程语言。Python 解释器随 Spotfire 安装一起提供,以便您可以编写脚本并运行数据函数来创建预测模型。提供 Python 工具是为了使您可以访问 Python 解释器来测试脚本。Python 工具还提供了一个界面,用于从 PyPI 程序包存储库下载和安装程序包。 - 名称解码脚本
如果要生成关于列的文本报告,R 解码脚本则非常有用。
一般工作流程
本节介绍创建数据函数时的一般工作流程。
过程
脚本语言
数据函数通常基于在 Spotfire® Enterprise Runtime for R(又名 TERR™)下运行的 R 脚本,但也可以基于开源 R 脚本或 Python 脚本。“注册数据函数”对话框中的可用类型取决于您有权访问的计算引擎。有关如何配置这些引擎的信息,请参见相应的服务文档,或联系 Spotfire 管理员。
关于此任务
- 要使用 TERR,可以使用 Spotfire 安装中提供的本地引擎,或者使用安装在 Spotfire Server 可用节点上的 Spotfire® Enterprise Runtime for R - 服务器版本(TERR 服务)。
- 要使用 Python,您可以使用本地安装的 Python 或安装在 Spotfire Server 可用节点上的 Spotfire® Service for Python。安装的 Spotfire 客户端包含一个 python.exe,但您也可以在 下更改为使用其他安装。有关如何使用 Python 的详细信息,请阅读文档 Spotfire® 中的 Python 数据函数。
- 要使用开源 R,请使用安装在 Spotfire Server 可用节点上的 Spotfire® Service for R。注: 开放源 R 在遵守单独的开源软件许可条款的前提下提供,并不是 Spotfire 的一部分。因此,开放源 R 不在您的 Spotfire 的许可范围内。Cloud Software Group, Inc. 不以任何形式对开放源 R 提供支持、维护或保证。对开放源 R 的下载和使用由您全权决定,且需遵守适用于开放源 R 的免费开源许可条款。
- 要使用 Statistica(包含在 Spotfire Data Science 许可证中),请使用本地 Statistica 引擎或安装在 Spotfire Server 可用节点上的 Spotfire Service for Statistica(也称为 Statistica Service)。Statistica 数据函数与其他数据函数的不同之处在于,您可以将在 Statistica 中创建的工作区在 Spotfire 中显示为数据函数。此操作使用“Statistica 集成”(从 进行访问)来完成。注: 无法使用“注册数据函数”对话框创建任何 Statistica 数据函数。有关如何使用这些类型的数据函数的详细信息,请参见 Spotfire 与 Statistica 集成;有关 Statistica 的常规信息,请参见 Statistica 帮助。
有关服务的系统要求的信息,请访问 https://spotfi.re/sr。
开始使用
可以通过以下方法定义开源 R 数据函数:根据相应 Spotfire Service for R 中的现有函数定义;或直接在“注册数据函数”对话框中编写脚本,然后使用相应的引擎运行脚本(对于 R 函数,可以使用 TERR 引擎或开源 R 引擎)。其他类型的数据函数始终基于脚本。
关于此任务
为确保快速响应和良好的用户体验,请避免从 Spotfire 向统计引擎发送过大的数据集,或调用运行时间很长的复杂计算。
示例 1:创建并运行简单的 R 脚本数据函数
对列中的值进行从摄氏度到华氏度的简单转换。尽管使用“添加计算的列”可轻松完成该操作,但这个简单示例可以详细地说明输入参数和输出参数的处理。
过程
结果
示例 2:创建数据函数时的考量因素
如果要使用的函数为主组件分析 (PCA) 计算,则输入将为从 Spotfire 中当前数据检索的一些数值数据列,以及(可选)指定要由主组件保留的百分比变量的一个参数。
关于此任务
输出将包括三个新数据表(得分、加载项和特征值/可释方差表)以及指示生成的主组件数的标量。
您可以在 Spotfire 社区中找到大量数据函数。