我在年/月和表B上提示表A.表B也有年/月列。表A是默认数据表(首先被拉入)。我在公共年/月列上建立了表A和B之间的关系。
目标是让表B仅提取表A中年/月与年/月匹配的数据(用户输入的内容)。目的是防止用户多次进入年/月。
问题是表B包含近3500万条记录。我不想做的是让Spotfire吸引所有35百万条记录。目前正在发生的事情是Spotfire正在拉动所有这些记录,然后通过设置过滤以包括表B中的Filtered Rows,我将可视化中的内容限制在200,000行以下。我宁愿拉开200,000行来开始。
问题:是否有办法强制Spotfire通过另一个数据表(表A)过滤数据表(表B),因为它拉过数据表(表B),因此只拉动少量记录进入记忆?
答案 0 :(得分:0)
我写这篇文章的基础是,大多数人利用信息链接将数据导入Spotfire,特别是数据未嵌入分析的大型数据集。话虽如此,我更愿意处理数据源与Spotfire应用程序相同的连接/过滤/按摩(如果不是全部)。以下是我对最佳实践及其原因的看法。
表/视图与程序作为信息链接
大多数人都熟悉表/视图结构,并以两种方式之一将数据导入Spotfire
就个人而言,选项2更容易 IF 您可以访问数据源,因为数据源旨在处理此类工作。 Spotfire只是使它可用,但功能有限(即复杂的查询,智能感知等等不可用。没有本机IDE)。什么是更好的存储过程恕我直言,这就是原因。
在上面的选项1和2中,如果要添加列,则必须更改数据源中的视图/源代码,或者在信息设计器中单独添加列。这会创建矮化的对象并使您的库变得杂乱无章。例如,当您创建信息链接时,会有一个文件夹,其中包含与之关联的所有元素。如果您想稍后添加列,则会为添加的任何列添加另一个文件夹,这会让您感到困惑和难以管理。如果在数据源上创建过程以返回所需的数据,并且稍后想要添加一些列,则只需在数据源中更改此列。即改变程序。其他所有内容都将由Spotfire继承......您只需点击“重新加载数据”即可。 Spotfire中的按钮。您不必更改信息设计人员的任何内容。此外,您可以轻松添加新参数,设置默认参数属性或提示用户,使其成为一种非常有效的数据检索方法。 当数据源是OLTP而不是数据集市/数据仓库(即数据尚未汇总/清理)时,这是完美的,但在数据仓库环境中也很强大同样。
放弃GUI,编辑SQL
我发现管理条件,参数,连接路径等有点烦人 - 但这就是我。相反,如果可能的话,我更愿意点击"编辑SQL"在我的信息链接中的所有元素旁边并在那里更改SQL。这将允许数据库人员在更熟悉的环境中工作。