通过不同的数据表限制进入Spotfire的数据

时间:2017-04-20 14:23:56

标签: spotfire

我在年/月和表B上提示表A.表B也有年/月列。表A是默认数据表(首先被拉入)。我在公共年/月列上建立了表A和B之间的关系。

目标是让表B仅提取表A中年/月与年/月匹配的数据(用户输入的内容)。目的是防止用户多次进入年/月。

问题是表B包含近3500万条记录。我不想做的是让Spotfire吸引所有35百万条记录。目前正在发生的事情是Spotfire正在拉动所有这些记录,然后通过设置过滤以包括表B中的Filtered Rows,我将可视化中的内容限制在200,000行以下。我宁愿拉开200,000行来开始。

问题:是否有办法强制Spotfire通过另一个数据表(表A)过滤数据表(表B),因为它拉过数据表(表B),因此只拉动少量记录进入记忆?

1 个答案:

答案 0 :(得分:0)

我写这篇文章的基础是,大多数人利用信息链接将数据导入Spotfire,特别是数据未嵌入分析的大型数据集。话虽如此,我更愿意处理数据源与Spotfire应用程序相同的连接/过滤/按摩(如果不是全部)。以下是我对最佳实践及其原因的看法。

表/视图与程序作为信息链接

大多数人都熟悉表/视图结构,并以两种方式之一将数据导入Spotfire

  1. 通过从数据源中选择单个表来创建基于作者定义的数据关系的信息设计器中的所有联接/链接
  2. 在数据源处创建一个视图(或类似对象),其中所有连接/数据关系都已完成,从而为Spotfire提供单个平面数据文件
  3. 就个人而言,选项2更容易 IF 您可以访问数据源,因为数据源旨在处理此类工作。 Spotfire只是使它可用,但功能有限(即复杂的查询,智能感知等等不可用。没有本机IDE)。什么是更好的存储过程恕我直言,这就是原因。

    在上面的选项1和2中,如果要添加列,则必须更改数据源中的视图/源代码,或者在信息设计器中单独添加列。这会创建矮化的对象并使您的库变得杂乱无章。例如,当您创建信息链接时,会有一个文件夹,其中包含与之关联的所有元素。如果您想稍后添加列,则会为添加的任何列添加另一个文件夹,这会让您感到困惑和难以管理。如果在数据源上创建过程以返回所需的数据,并且稍后想要添加一些列,则只需在数据源中更改此列。即改变程序。其他所有内容都将由Spotfire继承......您只需点击“重新加载数据”即可。 Spotfire中的按钮。您不必更改信息设计人员的任何内容。此外,您可以轻松添加新参数,设置默认参数属性或提示用户,使其成为一种非常有效的数据检索方法。 当数据源是OLTP而不是数据集市/数据仓库(即数据尚未汇总/清理)时,这是完美的,但在数据仓库环境中也很强大同样。

    放弃GUI,编辑SQL

    我发现管理条件,参数,连接路径等有点烦人 - 但这就是我。相反,如果可能的话,我更愿意点击"编辑SQL"在我的信息链接中的所有元素旁边并在那里更改SQL。这将允许数据库人员在更熟悉的环境中工作。