描述:
将多个排列完全叉乘起来。
语法:
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()