数组对象应用之利用sort、select求浮动列取排名前几数据

2516
0

xxxl 数据领袖Lv6

发表于2020-7-24 16:59

楼主
本帖最后由 xxxl 于 2020-8-4 17:25 编辑

在这里我们想要通过不改变浮动顺序也就是不使用_rk()函数的情况下取到前几名的数据,可以使用rank函数得到一个没有改变浮动顺序的排名,然后再通过数组对象来取到前几名或者后几名的数据。

以下是表样设置


           


最后效果


         
这里的  GRID1.B2$$.rank(GRID1.B2)  是对销售价格进行排名
这里的 GRID1.C2$.sort(true).mid(0,3).select(true,@.leftcell(2).txt).join(",")
其中,
.sort()是将C2浮动出来的数据降序排序,sort()=sort(false)默认为降序sort(true)为升序
mid(0,3)是取排序后的前三项(即前三名)mid(index,len)index:整型(必须)len:整型(可选),返回指定的从数组第index个开始的长度为len的所有元素形成的一个行的数组;
select的作用的取这前三名对应的B2表元的值(字号列),join是吧前面返回的结果用逗号隔开转成字符串。
这里使用到的函数都是来自数组对象详情看这个帖子http://bbs.esensoft.com/thread-133624-1-1.html


.leftcell(2)是表元对象中的函数
leftcell表示取左边的表元,这是表元对象cell中的函数
leftcell(int i)返回左边的第i个表元;如果没有,则返回null。
如果参数为负数,则等价于rightcell(-i)
Self.Leftcell(1)等于self.leftcell
Self.leftcell(5)是self左边的第5个表元
Self.leftcell(-5)返回null

扩展一下表元对象函数:
Rightcell(int i)
返回右边的第i个元素;如果没有,则返回null。
如果参数为负数,则等价于leftcell(-i)
Self.rightcell(1)等于self.rigthcell

Upcell(int i)
返回上面的第i个元素;如果没有,则返回null。
如果参数为负数,则等价于downcell(-i)
Self.Upcell (1)等于self.Upcell

Downcell(int i)
返回下面的第i个元素;如果没有,则返回null。
如果参数为负数,则等价于upcell(-i)
Self.Downcell(1)等于self.Downcell










最近看过此主题的会员

帆用户

hhdtest

18999800733

ajsdhkjfhdasf

愿你似阳光

wulili

981127

chestnut

XueG

ljf

0个回答

只看楼主

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号