数据集函数是从数据库中查询出一组数据,并且对这些数据进行操作。

一、数据集的构造函数

find函数

table.表名.find
参数说明

二、 主要函数说明

三、 函数参考

Str字符串函数

函数功能 函数 页面显示 返回类型
查找母串中子串的位置 =Str.pos(“asdfghj”,”dfg”,5) 6 正整数
将原始字符串的某些部分替换为另一个字符串,只替换一次 =Str.replace(“abcdebcd”,”bc”,”AAA” aAAAdebcd 字符串
将原始字符串的某些部分全部替换为另一个字符串 =Str.replaceAll(“abcdebcd”,”bc”,”AAA”) aAAAdeAAAd 字符串
替换目标字符串中的模板字符串为模板表达式(C6的值为10) =Str.replaceAllExpTemplates(“我是me.名称,我现在C6岁”,[“me.名称”,”C6”]) 我是admin,我现在10岁 字符串
将传入的对象转换成字符串 =Str.toJson([3,3]) [3,3] 字符串
获取传入参数的字符串 =Str.len(“1234”) 4 正整数
字符串拼接 =Str.conditionalConcat(“a”,1==1,”,b”,1>2,”,c”,1<2,”,d”) “a,b,d” 字符串
第一个参数是否包含第二个参数 =Str.contains(“xx”,”x”) true bool类型
第一个参数字母的开头是否是第二个参数 =Str.StartWith(“xaq”,”x”) true bool类型
将对象转换成字符串(可进行格式化) =str(123) “123”
去掉字符串两边的引号 =Str.rmQuote(“abcdef”) abcdef 字符串
去掉字符串两边的空串 =Str.trim(“ a bc “) “a bc” 字符串
从源字符串内部截取子串 =Str.doubleQuote()
从源字符串内部截取子串 =Str.substring(“abcdef”,3) def 字符串
去掉字符串左边的空格 =Str.ltrim(“ abc def “) “abc def “ 字符串
获得源字符串左边的子串 =Str.left(“abcdef”,3) abc 字符串
去掉字符串右边的空格 =Str.rtrim(“ abc def “) “ abc def” 字符串
获得源字符串右边的子串 =Str.right(“ abc def “) def 字符串
产生一个空串 =Str.space(5) “ “ 字符串
将字符串src的字字符串a变成字符串b =Str.rplc(’abc” abc “/def’,’a’,’中国’) ’中国bc’中国bc’def 字符串
计算和 =Str.sum([11,12]) 23 字符串
=Str.like()
=Str.captain()
将字符串根据”,”分隔 =Str.split(“123,45”,”,”) [123,45] 数组
=Str.pattern()
=Str.supplementRight()
=Str.supplementLeft()

四、 数据集在一个公式内既创建又使用

当find公式配置在变量里的时候,可以用变量名来使用。
例如 ds 变量的构造函数 table.用户.find() 。之后可以用ds.toList(ds.名称) 来获取数据集的名称字段组成的数组。

当find公式配置在单元格上的时候,可以用格名来使用。
例如 单元格 A1 的值表达式 table.用户.find() 。之后可以用A1.toList(A1.名称) 来获取数据集的名称字段组成的数组。

但是如果我们希望一个单元格,直接计算出所有用户的字段名称组成的数组,如何把find函数和toList调用连着写呢?

table.用户.find().toList(???.名称) 这里 ???应该写什么呢?
这个时候,因为这个数据集构造出来,还没有赋予任何名称,这时候系统中会自动命名为临时变量ods用户。(ods是临时数据集的意思,用户是说明这是用户的数据集)
=table.用户.find().toList(ods_用户.名称)

五、 对数据集的查询

因为从数据库中查询太慢,我们有的时候会把一组数据从数据库中查询出来,生成数据集。之后的查询就直接对数据集进行,当查询次数特别多,而数据集的总数据条数又不太多的时候,可以提高运行效率。

这需要在定义数据集变量的时候,尽量减少