天软金融分析.NET函数大全 > TSL函数 > 基础函数 > 数组 > 增删改查

FilterIn    

简述

返回指定列的值在过滤集内的子结果集或者下标列表。
定义
FilterIn(R;V;Field;[bReturnSubResult=true]):Array
参数
名称类型说明
RArray,TableArray需要过滤的结果集。
VArray,TableArray过滤集。
FieldString过滤的结果集的字段,如果Field为nil则表示整行过滤。如果Field为一个数组,则表示需要过滤的字段组。
bReturnSubResultBoolean过滤后是否返回子集。默认为真,为真时返回整个结果集符合条件的子集,为假时返回结果集符合条件的下标列表。
返回Array,TableArray数组
  • 范例

    范例01:
    //过滤表a中列’a’的值在array(1,2,5)集中的结果
    a:=array(
    ("a":0,"b":0,"c":0),
    ("a":1,"b":0,"c":2),
    ("a":2,"b":1,"c":4),
    ("a":3,"b":1,"c":6),
    ("a":4,"b":2,"c":8),
    ("a":5,"b":2,"c":10),
    ("a":6,"b":3,"c":12));
    return filterin(a,array(1,2,5),'a');

    //结果:

    范例02:
    //筛选满足过滤集中整行数据的子集
    a:=array();
    for i:=0 to 15 do
    begin
    a[i]["a"]:=i;
    a[i]["b"]:=i div 2;
    a[i]["c"]:=i*2;
    end;
    return filterin(a,array(("a":2,"b":1,"c":4),("a":3,"b":1,"c":4)),nil);

    //结果:

    范例03:
    //筛选满足过滤集中指定列数据的子集
    a:=array();
    for i:=0 to 15 do
    begin
    a[i]["a"]:=i;
    a[i]["b"]:=i div 2;
    a[i]["c"]:=i*2;
    end;
    return filterin(a,array(("a":2,"b":1),("a":3,"b":1)),array('a','b'));

    //结果:

    范例04:
    //返回符合过滤集中指定列数据的行下标
    a:=array();
    for i:=0 to 15 do
    begin
    a[i]["a"]:=i;
    a[i]["b"]:=i div 2;
    a[i]["c"]:=i*2;
    end;
    return filterin(a,array(("a":2,"b":1),("a":3,"b":1)),array('a','b'),false);

    //结果:
相关