天软金融分析.NET函数大全 > TSL函数 > 基础函数 > 数组 > 数组操作

Framemerge    

简述
数据表-联结
定义
Framemerge(Left:Table;Right:Table;Ons:String;How:String;Suffixes:Array of string;Ifmultifield:Bool;Keepmethod:Usrdefine):Array
参数
名称类型说明
LeftTable Table,左表
RightTable Table,右表
OnsString String,联结字段,可以为数组
非数组,表示左右都以ons字段联结。
ifMultiField为false时:
数组,ons[0],ons[1]分别表示左右联结字段
ifMultiField为真时:
数组,ons 表示左右的共同联结字段
HowString String,: 联结类型
取值 说明
'inner'或0 默认,内联结
'left'或1 左联结
'right'或2 右联结
'outer'或'full'或3 全联结
SuffixesArray of string Array of string,必须为数组,只在KeepMethod为都保留时有效。
suffixes[0] 左端重名字段命名,为nil时表示不重命名。
suffixes[1] 右端重名字段命名
默认,array('_x','_y')
IfmultifieldBool Bool,是否多字段,默认否
KeepmethodUsrdefine Usrdefine,重名字段保留方式
默认,0、都保留
1、保留左
2、保留右
返回Array更新后的数组
  • 范例

    范例1:
    left := `array('a':3->5,'b':rand(3));
    right := `array('a':1->4,'b':rand(4),'c':rand(4)*10);
    return frameMerge(left,right,'a');

    范例2
    //多字段merge
      left := `array('a':3->5,'b':rand(3));
      left[:,'c'] := left[:,'a'];
      right := `array('a':1->4,'b':rand(4),'c':rand(4)*10);
      right[:,'c'] := right[:,'a'];
      names := array('a','c');
      return frameMerge(left,right,name,'lfet',nil,True);

    范例3
    //只更名right
     left := `array('a':3->5,'b':rand(3));
     right := `array('a':1->4,'b':rand(4),'c':rand(4)*10);
     return frameMerge(left,right,'a','full',array(nil,'_x'));
相关