value()函数
返回tableData中列号为col的一列值。
VALUE(tableData,col)
先列后行
1、value("ds1",1,2)
取 ds1 数据集中第 1 列第 2 行的数据
2、value("ds1",3,4,"America") (根据第四列条件是America的返回第三列值)
返回数据表中第三列元素,且该列元素对应的第四列元素的值是 America 的所有数据
3、value("ds1",3,4,"America",1)
返回数据表中第三列元素,且该列元素对应的第四列元素的值是 America 的第一条数据
ds1.select()函数
tablename.select(colname,筛选条件1&&筛选条件2&&......)
筛选出数据集某列中符合条件的数据,返回结果是一个数组,相同数据不会合并。
注:当仅返回一条数据时,数据类型是「字符串」而不是数组。
1、ds1.select(产品名称,产品名称="牛奶")
注意事项
-
筛选条件中的判断既可以使用单等号,也可以使用双等号;
-
字符串也同时可以使用单引号或者是双引号,对结果均没有影响;
-
tablename.select() 与 sql() 的区别主要在于 tablename.select() 是从数据集取数,sql() 是从数据库取数,不需要先定义一个数据集。详情参见 SQL 函数
-
在公式中,以 0 开头的字符串在匹配判断时,例如:ds1.select(colname,ID="003") 结果会返回对应 ID 为 0、03、003…… 的结果。若只希望返回 003 ,可以使用 EXACT 来做匹配判断。例如:ds1.select(colname,exact(ID,"003"))
SQL()函数
=sql("FRDemo","SELECT * FROM STSCORE",3,3)
=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = 'Class1' ",3)
=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+$class+"' ",3,4)
=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+$$$+"' ",3,4)
sql("FRDemo","SELECT * FROM STSCORE where 1=1 "+if(len(class)== 0,"","and CLASSNO = '"+class+"'"),3)