Spotfire 加入不匹配的记录
Spotfire Join to unmatched records
我有一个 table,我试图将其与自身进行匹配,并在主键不匹配时创建一条记录。这是 table
的示例
Location Value
A 5
B 10
C 15
我想获得以下table
Location Value Location(2) Value(2)
A 5 B 10
A 5 C 15
B 10 A 5
B 10 C 15
C 15 A 5
C 15 B 10
我复制了第一个 table 并尝试了各种连接,但我无法得到结果。谁能就如何执行此操作提供建议?
您似乎需要向量积,即外连接。但是要进行连接,您需要一个行匹配的列。这里的一个技巧是为所有行创建一个只有一个值(如“1”)的新列(使用 "Insert Calculated Column" - 一定要冻结该列,以便稍后可以加入它)。然后使用带有该虚拟列的列作为键字段,对该 table 与其自身的副本进行完全外部联接(使用 "Insert Columns" 特性进行联接)。然后您将获得上面显示的组合,但它也会有键匹配的行。
要删除匹配项,您可以轻松创建一个新列,并使用表达式测试主键是否匹配,例如:
if([Location]=[Location(2)],"Match","NoMatch")
然后筛选出匹配的行,如果您不希望它们出现在数据集中,则将其删除。
您当然可以在这里向 Spotfire 提问,但您也可以在此处尝试 TIBCO 社区的 Spotfire 部分:
我有一个 table,我试图将其与自身进行匹配,并在主键不匹配时创建一条记录。这是 table
的示例Location Value
A 5
B 10
C 15
我想获得以下table
Location Value Location(2) Value(2)
A 5 B 10
A 5 C 15
B 10 A 5
B 10 C 15
C 15 A 5
C 15 B 10
我复制了第一个 table 并尝试了各种连接,但我无法得到结果。谁能就如何执行此操作提供建议?
您似乎需要向量积,即外连接。但是要进行连接,您需要一个行匹配的列。这里的一个技巧是为所有行创建一个只有一个值(如“1”)的新列(使用 "Insert Calculated Column" - 一定要冻结该列,以便稍后可以加入它)。然后使用带有该虚拟列的列作为键字段,对该 table 与其自身的副本进行完全外部联接(使用 "Insert Columns" 特性进行联接)。然后您将获得上面显示的组合,但它也会有键匹配的行。
要删除匹配项,您可以轻松创建一个新列,并使用表达式测试主键是否匹配,例如:
if([Location]=[Location(2)],"Match","NoMatch")
然后筛选出匹配的行,如果您不希望它们出现在数据集中,则将其删除。
您当然可以在这里向 Spotfire 提问,但您也可以在此处尝试 TIBCO 社区的 Spotfire 部分: