Spotfire® 用户指南

使用较大数据卷

当您使用大量数据时,可能始终会有某些操作执行起来需要耗费一些时间。但是,有了 Spotfire,您无需担心便可尝试不同的选择。如果某一操作可能需要花费较长时间,您随时可以取消该操作。如果您不想等待计算完成,则可以撤消操作,或者切换到不同选择(例如切换到轴上包含较少唯一值的列)。

但是,如果您在使用较大数据表并且想要提高分析的性能,这里向您提供一些有用提示:

图表和分析

  • 将聚合图表用作起点,并将详细图表仅用于较小已筛选的数据部分。分析中的很多图形元素将需要一些时间才能呈现出来。这对不允许硬件加速的 Web 客户端尤其重要。
  • 考虑一下,为了看到相同内容,是否有一些可选方法来可视化您的数据。您是否可以使用不同的图表类型?或部分聚合数据?例如,可使用合并来聚合散点图中的标记,并且仍允许您查看分发。使用合并滑块您可以增加显示的标记数量,除非其花费太长时间而无法进行更改。
  • 在交叉表等中排序需要花费一些时间。
  • 隐藏或删除未使用的筛选器(除非不得不创建,否则不要创建外部列的筛选器)。
  • 在使用包含很多唯一值的列时,使用列表框筛选器或文本筛选器而不是项目筛选器。项目筛选器即使没有使用,其显示所需的时间也较长。如果您有较旧的分析文件对这些类型的列使用项目筛选器,则可以手动将筛选器类型更改为列表框或文本筛选器,并再次保存文件。
  • 有些类型的聚合较其他聚合花费时间更长。例如,如果可能使用平均值而不是中值。
  • 使用数据类型 real 而不是 currency。currency 格式化程序可应用于 real 数据类型。
  • 建议使用“筛选器”面板或“分析中的数据”浮出控件而不是向文本区域添加很多筛选器。文本区域中的许多筛选器可使分析看似反应更慢。
  • 文本区域中的计算的值(标签)和迷你图可能也会导致分析反应较慢。
  • 对包括 OVER 在内的所有表达式使用聚合后表达式,因为对已聚合的视图执行计算时计算会更为快速。

硬件

  • 如果可能(当数据或分析存储在磁盘上时),使用快速的固态驱动器 (SSD)。
  • 使用较大数据卷时,不要在同一计算机中运行其他应用程序。

加载数据

  • 在类别列中使用排序输入。
  • 从 SBDF 文件加载数据比从 TXT 加载更为快速。
  • 如果数据为高和窄的格式而不是短和宽的格式,则您可能会获得更佳性能。
  • 在将数据导入到 Spotfire 之前从其删除无效值。
  • 如果打算从外部数据源导入数据,请在导入前尽可能限制所选的数据。这会增大导入成功几率。

数据导出

  • 从数据表而不是可视化表中导出数据。
  • 导出到 SBDF 而不是 TXT。

Web 客户端

  • 如果可能,请避免使用包含许多图形元素的图表。
  • 如果可能,使用计划的更新

偏好(仅限内部部署)

  • 使用已安装客户端的管理员可以修改 MarkingWhereClauseLimit 或 MarkingInQueryLimit 偏好(在“工具” > “管理器” > “偏好” > “DataOptimization”下)。使用下限,所允许的标记查询的复杂性也会降低。这在使用外部数据源时很重要。有关详细信息,请参见DataOptimization 偏好
  • 关闭筛选器的自动创建功能。对于“数据”画布“设置”中的特定数据表以及“工具” > “选项” > “文档”下的所有新的内存中数据表(仅限已安装的客户端),可将此功能关闭。

API

  • 基于迭代器的数据访问优先于随机访问。使用 DataRowCursor API:s 优先于 GetValue(rowindex) 样式 API:s。
  • 在使用自定义比较程序时请务必小心,根据其使用情况,它们可能会变为瓶颈。考虑该问题是否无法通过其他方式解决。
  • 如果事情进展缓慢并且您正在使用旧的自定义扩展名,请查看是否可进行重构或者是否可删除某些耗时的步骤。有些 API:s 天生缓慢,并且旧代码可能会受益于某些重构。尝试不使用任何扩展名进行加载,查看其中一个是否为罪魁祸首。