outerjoin
两个表或时间表之间的外联
语法
说明
使用键变量对 T = outerjoin(Tleft,Tright)T 和 Tleft 进行外联,从而创建表或时间表 Tright。外联合并键变量具有匹配值的表行,但也包括来自一个输入表的键变量在另一个输入表中没有匹配项的行。例如,如果 Tleft 具有名为 Key1 和 Var1 的变量,Tright 具有变量 Key1 和 Var2,则 T=outerjoin(Tleft,Tright) 使用 Key1 作为键变量。

默认情况下,键变量是:
在
Tleft和Tright中具有相同名称的变量,如果两个输入均为表,或如果Tleft是时间表而Tright是表。行时间的向量,如果
Tleft和Tright均为时间表。
左表和右表中键变量的匹配值不必按相同顺序排列。外联可以在两个表的键变量之间执行一对多和多对一匹配。也就是说,在左表的键变量中出现一次的值在右表中可能有多个匹配项。同样,在右表的键变量中出现一次的值在左表中也可能有多个匹配项。
您只能对某些表和时间表组合执行外联。
如果
Tleft是表,则Tright必须是表。outerjoin以表的形式返回T。如果
Tleft是时间表,则Tright可以是表,也可以是时间表。outerjoin以时间表的形式为两种输入组合返回T。
可在前面语法中的输入参量外使用一个或多个名称-值参量来指定选项。例如,您可以通过设置 T = outerjoin(Tleft,Tright,Name=Value)Keys、LeftKeys 或 RightKeys 来指定将哪些变量用作键变量。
示例
输入参数
名称-值参数
输出参量
详细信息
算法
来自输入表或时间表的行标签向量可以用作键变量。行标签是表的行名称或时间表的行时间。要将此向量用作键,请将其指定为
"Row"(如果是表的行名称)、行时间的时间表向量的名称,或者的值,其中T.Properties.DimensionNames{1}是表或时间表。T通常,
outerjoin将行标签从输入表Tleft复制到输出表T。如果
Tleft没有行标签,则T没有行标签。如果
Tleft有行标签,则outerjoin复制Tleft的行标签,以创建T的行标签。如果您指定
Tleft和Tright中的行标签作为键对组,则outerjoin可根据需要将Tright中的行标签合并到T的行标签。如果您指定
Tleft的行标签作为键,但不指定Tright的行标签作为匹配的键,则outerjoin会根据需要在T中创建默认行标签。通常,默认行标签是NaN或缺失值如果
Tleft和Tright都是表,而您未将任何输入的行名称指定为键,则outerjoin不会在T中创建行名称。如果
Tleft和Tright均为时间表,但您没有将任一输入的行时间指定为键,则outerjoin会将行时间从Tleft复制到T。它还在需要时用NaN或NaT填充行时间。
您不能使用
Tleft的行标签作为左键、使用Tright的变量作为右键来执行外联。要执行外联,请将Tleft的行标签转换为表变量,并使用新表变量作为键。
扩展功能
版本历史记录
在 R2013b 中推出

