Spotfire® 用户指南

在相关数据表中进行筛选

如果在分析中具有多个彼此相关的数据表并且数据表中的值并不完全相同,您可能想要采用不同的方式来处理相关数据表中的筛选,这取决于您是需要在用于定义关系的列中筛选出的值,还是需要从其中筛选掉的值。

开始之前

分析中必须有多个数据表,并且必须其中至少有两个数据表已配置关系。您可以查看所有当前关系,并从“数据表概述”“关系”选项卡中添加、编辑或删除关系。

为了便于显示三个可用选项之间的不同之处,下面用两个相关数据表 DT1 和 DT2 来举例说明。DT1 和 DT2 都包含一些在另一个数据表中没有的值(粉色和黄色),但是也包含共有的值(蓝色):

A = DT1 中的值,在 DT2 中不可用。

B = DT1 中的值,在 DT2 中可用,但是已被筛选掉。

C = DT1 中的值,在 DT2 中可用,并且包括在 DT2 当前筛选出的值中。

F = DT2 中筛选出的值(筛选后剩余的值)。

当指定针对 DT2 的筛选管理时(从 DT1 数据表标头),不同的选项将给出以下结果:

仅包括筛选的值

第一个选项将使仅在 DT1 中显示的所有值从使用 DT1 的图表中消失,因为将仅包括 DT2 中当前筛选出的值。因此,该选项只保留两个数据表中均显示且未被筛选掉的值。

在以上示例中,这意味着在 DT2 中筛选后,只保留 C 中的值。

排除筛选掉的值

第二个选项将从使用 DT1 的所有图表中删除已从 DT2 中筛选掉的值。因此,该选项将保留 DT2 中筛选出的值以及 DT1 中的其他值。

在以上示例中,这意味着在 DT2 中筛选后,将保留 A 和 C。

忽略筛选(默认)

第三个选项会忽略在相关数据表中完成的任何筛选。这样,当前数据表中存在的所有值仍将存在。

在以上示例中,这意味着在 DT2 中筛选后,A、B 和 C 都将保留。

关于此任务

注: 您必须指定每个表应如何单独响应所有相关表中的筛选,以确定筛选后图表中显示的内容。

更改相关数据表中的筛选设置

过程

  1. 转至“筛选器”面板,找到所需数据表的数据表标头。
  2. 单击“在相关数据表中进行筛选”图标
    如果选择“忽略筛选”以外的选项,该图标将为蓝色。如果关系不再有效,图标将变为红色。
  3. 选择要为其更改筛选对当前数据表影响方式的数据表,然后选择以下选项之一:“仅包括筛选出的值”“排除筛选掉的值”“忽略筛选”


结果

筛选已更新,当您在第一个数据表中筛选时,所选数据表将以指定的方式响应。
注: 如果您还希望在第二个数据表中进行筛选时将筛选转移到第一个数据表,则还必须从第二个数据表的标题中更新设置。
注: 无法将基于流数据的筛选传播到另一个数据表。

示例:设置之间的差异

在本示例中,两个数据表 DT1 和 DT2 都有一个名为“城市”的列,用于创建关系。此列在两个表之间有五个共有的值(“柏林”、“加尔各答”、“约翰内斯堡”、“马德里”、“东京”),并且每个表都另外包含一个在两个表中不同的值(“巴黎”或“罗马”)。

其他数据表中的默认设置为“忽略筛选”

如果在 DT1 中筛选掉“马德里”,DT2 中的值不会发生任何变化。

如果改用“仅包括筛选出的值”选项,将从 DT2 中筛选掉“马德里”,并将其显示为灰色,以表明由于 DT1 中的筛选,该值不再适用。“巴黎”和“罗马”也显示为灰色,因为它们在两个数据表中均不可用。

在这些示例中,筛选器设置会应用于两个方向,但这两个方向相互间没有影响。无论 DT2 中如何配置,DT1 中的结果都是相同的。如果想要包括 DT1 中的所有值(即要包括“巴黎”)但不包括 DT2 中的所有值(要删除“罗马”),则可以在 DT2 上指定“仅包括筛选出的值”选项,但在 DT1 上不指定。

最后,可以使用“排除筛选掉的值”选项:

使用此选项时,在 DT2 中“马德里”显示为灰色,因为它已在 DT1 中被主动筛选掉,但“巴黎”和“罗马”仍然分别保留在 DT1 和 DT2 中,因为尚未从任何数据表中筛选掉这两个值。