-
-
xxxl 数据领袖Lv6
发表于2020-8-4 18:15
楼主
本帖最后由 xxxl 于 2020-8-4 18:20 编辑
1.需求分析
这里需要取出按浮动顺序序号的前三个车型价格的平均值。
思路:可以使用统计函数avg求带条件的平均值通常是使用指标过滤或者是结果集过滤的方法来实现,这里还有一种方法即是利用数据对象来取值做到求出带条件的平均值。
2.操作详情
这是表样设计
这是求平均值的公式
select(filter,itemproc)
适用对象:全部数组
参数说明:
filter:传递一个条件过滤表达式,表达式中可以使用@符号引用当前的数组元素(必须)
itemproc:传递一个节点处理表达式,表达式中可以使用@符号引用当前的数组元素(可选)
示例:[1,2,3].select(@>1)将返回[2,3] [[1,2],[2,3],[3,4]].select(@[0]>1,@[1]).join(';')返回3;4
描述:根据指定的过滤条件表达式过滤数组,将满足条件的元素形成一个新的数组返回
更多数组对象相关函数看这个帖子http://bbs.esensoft.com/thread-133624-1-1.html
1.需求分析
这里需要取出按浮动顺序序号的前三个车型价格的平均值。
思路:可以使用统计函数avg求带条件的平均值通常是使用指标过滤或者是结果集过滤的方法来实现,这里还有一种方法即是利用数据对象来取值做到求出带条件的平均值。
2.操作详情
这是表样设计

这是求平均值的公式
=GRID2.C2$.select(@.value<=3).select(true,@.leftcell.value).avg()
select(@.value<=3) 是取到C2$浮动列中值满足小于等于3这个条件的数据,
select(true,@.leftcell.value) 是取到这些数据的左侧的单元格的数据
avg() 求平均值
最后效果

3.注意
select函数返回的是一个数组,如果在设置过程中测试返回数组检查条件写的是否正确,需要设置这个公式使用的单元格数据类型为字符型,否则不能显示select返回的数组。
select函数详细说明:
适用对象:全部数组
参数说明:
filter:传递一个条件过滤表达式,表达式中可以使用@符号引用当前的数组元素(必须)
itemproc:传递一个节点处理表达式,表达式中可以使用@符号引用当前的数组元素(可选)
示例:[1,2,3].select(@>1)将返回[2,3] [[1,2],[2,3],[3,4]].select(@[0]>1,@[1]).join(';')返回3;4
描述:根据指定的过滤条件表达式过滤数组,将满足条件的元素形成一个新的数组返回
更多数组对象相关函数看这个帖子http://bbs.esensoft.com/thread-133624-1-1.html