两个表或时间表之间的内部连接
创建表或时间表,T
= innerjoin (Tleft
,Tright
)T
,因为内连接的Tleft
和Tright
使用关键变量.两个输入中具有相同名称的所有变量都是关键变量。内部连接将键变量具有匹配值的行组合起来。例如,如果Tleft
有变量命名Key1
和Var1
,Tright
有变量Key1
和Var2
,然后T = innerjoin (Tleft Tright)
使用Key1
作为关键变量。
左右表中关键变量的匹配值不必以相同的顺序排列。内部连接可以在两个表的关键变量之间执行一对多和多对一的匹配。也就是说,在左表的键变量中出现一次的值可以在右表中有多个匹配。类似地,在右表的键变量中出现一次的值可以在左表中有多个匹配。
只能对某些表和时间表组合执行内部连接。
如果Tleft
那么,是一张桌子吗Tright
一定是一张桌子。innerjoin
返回T
作为一个表。
如果Tleft
那么,有时间表吗Tright
可以是一张桌子,也可以是一张时刻表。innerjoin
返回T
作为一种投入组合的时间表。
行标号的向量Tleft
和Tright
可以是关键变量。行标签是表的行名或时间表的行时间。
来自输入表或时间表的行标签向量可以是一个键,单独或与其他键变量组合。行标签是表的行名或时间表的行时间。要使用该向量作为键,请将其指定为“行”
(用于表的行名),作为行时间的时间表向量的名称,或作为
,在那里T
.Properties.DimensionNames {1}
是桌子还是时刻表?T
一般来说,innerjoin
从输入表复制行标签Tleft
到输出表T
.
如果Tleft
没有行标签,那么T
没有行标签。
如果Tleft
有行标签吗innerjoin
从Tleft
中创建行标签T
.
然而,如果两个Tleft
和Tright
是表,但您没有指定任何一个输入表的行名作为键,那么innerjoin
在?中没有创建行名T
.
的行标签不能执行内部连接Tleft
作为左键和变量Tright
作为正确的关键。要执行内部连接,请转换行标签Tleft
,并使用新的表变量作为键。