Spotfire加入无与伦比的记录

时间:2016-09-30 16:24:40

标签: sql analytics spotfire

我有一个表,我试图与自己匹配并在主键不匹配时创建记录。这是表格的一个例子

Location    Value
A       5
B       10
C       15

我想获得下表

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  

我复制了第一个表并尝试了各种连接,但我无法得到结果。任何人都可以提出如何执行此操作的建议吗?

1 个答案:

答案 0 :(得分:2)

看起来你想要矢量产品,即外连接。但要进行连接,您需要一个行匹配的列。这里的一个技巧是创建一个只有一个值的新列,例如" 1"对于所有行(使用"插入计算列" - 确保冻结列,以便稍后可以加入它)。然后使用具有该虚拟列的列作为关键字段,将该表的完全外部连接与其自身的副本(使用"插入列"用于连接的功能)进行完全外部连接。然后,您将获得上面显示的组合,但它也会有匹配键的行。

要删除匹配项,您可以轻松创建一个带有表达式测试的新列,如果主键匹配如下:

if([Location]=[Location(2)],"Match","NoMatch")

然后过滤到匹配的行,如果您不想在数据集中删除它们,请删除。

你当然可以在这里询问Spotfire问题,但你也可以在这里尝试TIBCO社区的Spotfire部分:

https://community.tibco.com/products/spotfire