描述:
将多个排列完全叉乘起来。
语法:
xjoin(Ai:Fi,xi;…)
备注:
将Ai排列无条件叉乘起来,组成一个新序表,新序表由字段Fi,…组成,每个Fi引用原序列Ai的一个成员。叉乘过程中,过滤出Ai中满足条件xi的成员
参数:
Fi
|
代表结果序表的字段名。
|
Ai
|
用于叉乘的排列。
|
xi
|
过滤表达式。
|
选项:
@1
|
左连接,Ai中无成员可匹配时用null匹配。(注意:这里是数字1)
|
返回值:
序表
示例:
|
A
|
|
1
|
=create(Year).record([2000,2001])
|
|
2
|
=create(QuarterID,QuarterNmae).record([1,"one",2,"two",3,"three",4,"four"])
|
|
3
|
=xjoin(A1:Year;A2:Quarter)
|
直接叉乘:
|
4
|
=create(Month).record(to(12))
|
|
5
|
=xjoin(A2:Quarter;A4:Month,Month>(Quarter.QuarterID-1)*3&&Month<=Quarter.
QuarterID*3)
|
通过叉乘,动态的计算过滤表达式。过滤表达式可以参考上一个字段的当前值。
|
6
|
=create(Year).record([2000,2001])
|
|
7
|
=create(ID,Value).record([2001,"one",2002,"two",2003,"three",2004,"four"])
|
|
8
|
=xjoin(A6:f1;A7:f2,f1.Year==ID)
|
|
9
|
=xjoin@1(A6:f1;A7:f2,f1.Year==ID)
|
通过条件过滤后,左连接方式叉乘,无成员可匹配时用null匹配:
|
10
|
=join(A5:Employee;A6:Familymembers)
|
|
11
|
=xjoin(A1:Year1;A2:Quarter1)
|
|
12
|
=xjoin(A3:Year2;A11:Quarter2)
|
|
注意join()与xjoin ()的区别:
join()是将多个序列Ai按照关联字段/关联表达式xi和x1相等的关系叉乘,产生以Fi,…为字段的序表。此时xi是关联字段或者关联表达式。
xjoin()是将多个序列Ai无关联条件的叉乘,产生以Fi,…为字段的序表,只是在叉乘过程中,过滤掉各自Ai中不满足xi条件的记录。此时xi是过滤条件。
相关概念:
join()