排名分析报表的制作

4607
1

小灰灰1 数据达人Lv4

发表于2020-7-21 11:53

楼主
本帖最后由 小灰灰1 于 2020-7-21 11:55 编辑

报表设计页面:

报表结果页面:


小的知识点:
1、组内排名(同一个浮动维下)可以直接用=F3.rank这种方法,参考班级排名


2、组间排名(跨浮动维)可以用=F3$$.rank(F3),参考年级排名
关于为什么不用_rk函数,是因为_rk会影响页面数据结果顺序,而且只支持指标,不支持其他表元
详细两者的区别参考:
http://bbs.esensoft.com/thread-128538-1-1.html


3、不同指标之间需要按照不同条件取数时,可以直接使用指标下面的“条件过滤”配置
例如上面报表需求中前面的科目成绩是取当前年度值下的数据:



而后面取去年成绩的时候可以使用其他过滤条件:

这样就很方便的实现去年和当前年的数据对比了

4、按照某个单元格的数据取另外一个单元格的值时,可以使用find函数:
=B3$[G3$.FIND("1")]这个表示从取B3单元格里取这样一个数据,取数条件是对应G3单元格的值是1


5、求取前N条最大/小的数据时,可以结合sort等函数使用:
=K3$.sort().mid(0,3).select(true,@.leftcell(9).txt).join(",")
说明:.sort是将K2浮动出来的数据降序排序,mid(0,3)是取排序后的前三项(即前三名),
select的作用的取这前三名对应的B2表元的值(字号列),join是吧前面返回的结果用逗号隔开转成字符串





附录:
leftcell函数语法:
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)
Upcell(int i)
Downcell(int i)





最近看过此主题的会员

esen_53N62CO5AI

hee

v笑向前走

esen_4W35VA81N3

esen_4TUELCHD9M

MYoung

本主题由ESENSOFT官方技术支持于2024-8-27 11:11解除高亮

1个回答

只看楼主

xxxl 数据领袖Lv6

发表于2020-7-21 14:23

只看该作者

取消 关注该作者的回复

沙发

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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

400咨询:400-0011-866

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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