数据函数用于把 Spotfire 数据引擎之外的 Python、R 或 TERR 计算接入分析。作者定义脚本和参数,分析中的实例负责把数据列、表或属性映射到输入输出。
数据函数能做什么?
- 清洗、转换或补充数据。
- 生成计算列或新的数据表。
- 执行统计检验、回归、聚类和预测。
- 把企业已有算法封装成可复用分析能力。
定义和实例有什么区别?
数据函数定义包括脚本、参数和说明,可保存到库中复用。数据函数实例是某个分析中对该定义的一次具体使用,其中包含输入列、参数值、输出列或输出表的映射。修改定义前,应判断是否会影响其他分析。

Python、R 和 TERR 怎么选?
| 引擎 | 常见用途 | 主要条件 |
|---|---|---|
| Python | 机器学习、数据处理、企业算法 | 需要可用解释器、包和服务配置 |
| 开源 R | 统计分析和现有 R 生态 | 需要 R 引擎及依赖包 |
| TERR | Spotfire 环境内的 R 兼容分析 | 取决于许可和服务器配置 |
建立数据函数的基本流程
- 在已安装客户端中编写或注册数据函数。
- 定义清晰的输入、输出和参数说明。
- 把输入映射到数据表、列或文档属性。
- 把结果映射到列、表或属性。
- 用小样本验证结果、错误和运行时间。
- 决定手动刷新还是自动刷新,并保存到合适的库目录。
为什么在作者电脑能运行,Web 端却失败?
本地环境与服务器环境可能使用不同的解释器、包版本、文件路径和权限。需要服务器端 Python 或 TERR/R 服务时,应由管理员统一配置,不能依赖作者电脑中的个人环境。
常见问题
数据函数和计算列有什么区别?
简单逐行表达式优先使用计算列;需要外部库、模型或复杂算法时再使用数据函数。能用内置功能解决的问题不必增加运行环境依赖。
应该自动刷新吗?
输入变化频繁且计算成本可控时可以自动刷新;模型运行耗时或资源消耗较大时,建议手动触发并记录执行状态。
Spotfire 入门系列
官方参考
继续学习