使用数据库中的数据
当您使用来自外部数据源(数据库中或数据库中的数据)的数据时,需要记住很多与使用内存中的数据不同的事项。一些功能的工作方式不同或者不可用。
如果使用流数据,则还需要记住其他一些差异,请参见使用流数据以了解详细信息。
- 对于在您的计算机上安装的感兴趣的数据源,您可能需要驱动程序。
- 您必须由 Spotfire 管理员授予对所有感兴趣的连接器许可证的访问权限。
与内存中的差异 | 为什么? |
---|---|
可视化表和“按需查看详细信息”显示来自关系数据库中数据源的信息时,只能显示有限的行数(默认为 10000 行)。 数据库中的数据不支持虚拟列。 |
有一个偏好设置限制可视化表和“按需查看详细信息”中可以显示的最大行数,以防止大数据库溢出 Spotfire。 默认限制为 10 000。通过在管理器中编辑偏好设置 |
使用数据库内数据时,Spotfire 管理员可配置可检索和图表化的行数限制。例如,此限制会影响图表和某些筛选器类型。 尝试通过超出此限制的方式(例如不充分聚合数据)对数据进行图表化将造成错误。 无法为包含太多唯一值的变量创建列表框筛选器、层级筛选器和项目筛选器。 在展开的“分析中的数据”浮出控件的详细信息视图中,您看不到包含太多唯一值的类别列的统计信息。 |
在浏览大型数据表时,存在加载大量数据的风险。这会导致性能低下,因为网络、数据库和系统内存将承受更大压力,尤其是在使用 Web 客户端时。 为避免这些问题,使用数据库中数据时,有一个偏好设置可用于限制可检索和可视化的数据行数量。 通过使用管理器中的偏好设置 |
对于来自多维数据集的数据库中数据,您必须手动选择要包含在可视化表中的列。 提示: 您也可以为从连接到非多维数据集源的数据库中数据表启用此操作。使用“数据连接设置”对话框(仅限已安装的客户端)的“性能”选项卡上的“为可视化表手动添加列”设置。 |
使用可视化表中所有可用的列可能会导致对 OLAP 源的查询过大,因为表视图可将多维数据集扁平化为一个表。 通过仅选择最重要的列并可能仅将可视化表用作详细图表,您可以减少 Spotfire 的查询对数据源的影响。 |
如果数据表源为多维数据集,将无法对可视化表进行排序。 | 多维数据集仅可按自然顺序和反转的自然顺序返回数据,而不是排序顺序。因此,已为基于多维数据集数据的所有可视化表禁用了排序。 |
使用数据库中数据时,图表中的标记存在限制。 因为标记很多项目(例如条形段、饼图扇区或标记)会导致对外部数据源执行更加复杂的查询,所以此限制将影响您能够标记的项目的数量。不同的图表类型和配置的复杂性各不相同,因此您能够标记的项目的数量因图表而异。 此限制的默认值为 1000 行。此偏好设置可由 Spotfire 管理员配置。 提示: 如果您想将更多项目包含在标记中,您可以按住 Ctrl 或 Shift 键并标记更多项目,以此来向现有标记中添加项目。这样,您可以创建超出标记限制的标记。 注: 标记图表中的所有项目不会导致生成复杂的查询。这意味着不论限制是多少,您始终能够标记所有项目。 |
当您标记图表中的项目时,Spotfire 将生成一个外部数据源查询。如果图表包含大量项目,此类查询很容易变得很长、很复杂,尤其是当您同时筛选了分析中的值时。 复杂的查询会导致性能低下。因此,我们提供了一个偏好设置,用来限制使用数据库中数据时可在图表中标记的项目的数量。 |
只有视图已定义主键的情况下才支持在可视化表中做标记。此操作可由管理员在基础数据库表中定义,或者对于部分类型的数据连接在“连接中的视图”对话框(仅限已安装的客户端)中进行。您无法在基于多维数据集数据的表内进行标记。 | 需要使用主密钥才能了解标记哪些行。 |
在其类别轴上配置了浮点表达式的图表中,标记禁用。 如果您想在基于数据库中数据的图表中使用标记,请避免在任何轴上使用可返回浮点值的(在尖括号“<>”之间写入的)类别表达式。 注: 不是只在使用自定义表达式时,才可能会遇到此限制。例如,如果您在条形图的类别轴上选择浮点列,并将类别轴配置为显示类别刻度,那么这将与在此轴上写入可返回浮点值的类别自定义表达式相同。 |
在类别轴上配置了浮点表达式的数据库中图表中进行标记时,可能会生成无法预测的结果。 |
汇总表不能与数据库中的数据一起使用。 | 汇总表尚未调整为能够处理数据库中的数据。 |
箱线图不能与数据库中的数据一起使用。 | 箱线图需要聚合和非聚合数据,并且尚未调整为处理数据库中的数据。 |
在使用数据库中的数据时,需要将散点图和三维散点图配置为聚合的图表。 | 外部数据源中可用的行数可能会过大而无法在 Spotfire 中处理。 |
在使用数据库中的数据时,如果 X 轴设置为“(无)”,树形图仅能在热图中显示。树形图中不支持使用亮显和标记。 | 树形图是基于行索引的,并且数据库中的数据表没有任何行索引。 |
并非所有标准的 Spotfire 聚合方法和表达式在所有外部系统上可用。另一方面,还可能会有一些其他方法可用,在默认情况下 Spotfire 中并未包含这些方法。 | 外部数据源所支持的聚合方法决定了哪些方法适用于数据库中的数据。 |
OVER 权限必须视情况作为后聚合表达式或自定义表达式写入。 | OVER 表达式必须在聚合视图上执行。有关详细信息,请参见对聚合数据使用表达式(THEN 关键字)。 |
自动创建数据和时间层级不适用于数据库中的数据。 | 设置日期和时间层级的快捷方式尚未调整为处理数据库中的数据。 |
转换不适用于数据库中的数据。 | 由于在运行时分析中未存储任何数据,因此无法对数据库中的数据应用任何转换。 但是,也可以导入基于数据连接视图的数据表,当数据位于内存中后,您可以对数据应用转换。有关详细信息,请参见《Spotfire Analyst 用户指南》中的转换数据。 |
如果与外部数据源的连接丢失,则无法使用该数据源执行进一步的分析。 | 由于在运行时分析中未存储外部数据,并且每一个更改将引起新的查询发送到外部数据源,因此只要图表发生更改,数据源必须可用。 |
标签不适用于数据库中的数据。 | 标签依赖于行号,而行号对数据库中的数据不可用。 |
您无法从数据库中的数据表删除列或行。 | 数据库中的数据表在运行时不包含数据,因此无法删除任何内容。 但是,在使用已安装的客户端在“连接中的视图”对话框中(对于关系数据源)或在“连接中的数据选择”对话框中(对于多维数据集数据源)选择表时,您可以隐藏源表中的列。 |
您无法对数据库中的数据表应用以下任何工具或操作: 添加列、 添加行、 添加合并列、 数据关系、 K 均值聚类、 线相似度、 数据函数、 回归模型、 分类模型、 添加预测列 |
数据库中的数据表在运行时不包含数据,因此也无法整合任何其他数据。 |
使用数据库中数据时,“添加计算的列”具有以下局限性:
|
计算的列的表达式在底层数据库管理系统中评估。这意味着只能使用当前连接器支持的方法。 |
数值轴上不能使用数据库属性或维度列。 | 由于数据库数据添加到 Spotfire 中时所有数据库维度都将映射为字符串,因此即使列名称可能指出其结果为数值,也无法在任何数值轴上使用这些列。 通过导入部分多维数据集数据,可以将字符串数据转换为其他数据类型。 |
首次将数据连接添加到分析时,无法直接使用外部数据的按需设置。相反,您必须将数据添加为“外部”数据并从数据画布(仅限已安装的客户端)编辑按需设置才能启用按需加载。 | “将数据添加到分析”工作流始终假定应导入按需数据。 |
多维数据集数据源(无论是导入的多维数据集还是数据库内多维数据集)当前都不支持按需功能。 | 按需功能尚未经调整,无法处理多维数据集数据。 |
相比来自关系数据源的数据连接,选择多维数据集数据连接始终会生成一个数据表。 | 多维数据集数据源的数据选择步骤当前侧重于限制扁平化多维数据集数据,而不是同时查看不同的切片。 |
自动合并列仅适用于某些连接器;例如 Teradata、Oracle、PostgreSQL 和 SAP HANA。 | 对自动合并使用 width_buckets 的能力仅受一些外部数据源的支持。 |
当从数据库中的数据表导出时将无法使用“从数据表导出数据”功能。 | 数据库中的数据表在运行时不包含数据,因此无法从该数据表导出任何内容。 |
不同系统间的字符串比较由于对结尾空格处理方式的不同可能会提供不同的结果。 | 符合 SQL-92 标准(例如 SQL Server、MySQL 和 Netezza)的外部系统将剪裁字符串的结尾空格。 |
在使用数据库中的数据时,您必须提供通配符以在文本筛选器中获得模糊匹配。 | 对数据库中的数据键入词语的一部分将仅会搜索这些字母的准确匹配。(对于内存中的数据,将会在输入字母的后面自动附加通配符。) |
默认情况下,如果某个数据库内数据表对应多个筛选器,则筛选器中可供选择的值不会反映您在其他筛选器中可能已经做出的任何筛选器选择。这意味着那些可能已经被筛选掉的值将可供选择,并且将无法获得指出使用其他筛选器筛选出哪些值的视觉提示,正如使用内存中数据表所执行的操作那样。 要使数据库内数据表筛选器的工作方式与内存中数据表筛选器的工作方式更相似,可以更改数据连接的设置,以启用数据库内数据表的级联筛选器。 |
对于数据库内数据表,隐藏和以灰色显示其他筛选器筛选掉的值是一项代价高昂的操作。因此,必须手动启用这个名为级联筛选器的选项。 警告: 为数据库内数据表筛选器启用级联操作会导致外部数据源上产生一个额外的查询负载。用户应确保外部数据源能够处理额外的查询负载。 为此连接中数据库内数据表启用级联筛选器:
|