-
小灰灰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)
报表设计页面:
报表结果页面:
小的知识点:
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)
本主题由ESENSOFT官方技术支持于2024-8-27 11:11解除高亮