辰哥小课堂,亿信BI报表设计之对象表达式!

5113
4

辰哥 管理员

发表于2018-6-21 17:23

楼主
你理解的对象表达式是login.id还是drillcell.txt?不要太局限喔~
我们常熟见的对象表达式不是login.do就是drillcell.txt,那对象表达式到底是什么呢?简单讲,就是通过对象的属性及方法,访问服务器上的任何资源。

何为属性和方法
对象很富有,它拥有属性和方法,对象用它们可以做任何他可以做的事。
如果我本人是一个对象,性别、身高、体重等为我的属性;而我可以用我这个对象去工作、洗衣、打球等活动,这就是方法。

如何访问对象
访问对象的属性和方法的格式为:
1对象.属性
比如:myme.name=”小王”  ;  myme.age=” secret”
2)对象.方法
比如:this.display表示display(this)

对象的特点
1. 对象本身是有值的,如:A1.value
2. 对象、属性、方法大小写不敏感
3. 对象的属性、方法可能是另一个对象,可以继续引用。比如:A1.dimitem可获取A1表元的指标对应维项目;
A1.dimitem.level可获取A1表元的指标对应维项目所在的级次
4. 可以用函数去处理对象的属性和方法,如:left(A1.text,1)

亿信BI常用的对象表达式Self对象
self对象是表达式所在的对象,比如在表元的表达式中用self引用表元自己
self.value—表元的原始值
self.txt—表元的显示值
self.index—表元在浮动出来的节点中的序号
self.row—表元所在行号
Login对象
login.id—登录用户的id
login.org.id—登录用户所在机构的id
参数对象
@jg.txt—计算时,所选参数值对应的文字
@jg.level—计算时,选择参数值在维表中的级次
钻取表元对象
drillcell.txt—钻取表元的显示文字,常用于下钻表中
计算信息对象
calcinfo.sql—报表计算时的sql

应用实例应用实例(一):表元对象
【需求说明】
使用对象表达式对浮动表元值进行排名,如下图
图片1.png

【实现方法】
查询《对象表达式字典》,我们发现rank表元对象的属性刚好满足需求。
那我们来看看,rank属性的作用是什么?
表元对象属性rank:表元的排名。
例子:self.rank --- 如果本表元的值最大,则返回1
所以我们只需要在C2表元输入B2.rank即可,效果如下图:
图片2.png

应用实例(二):参数对象
【需求说明】
1. 表头需要显示报表期参数(@bbq)选择的报表期;
2. 选择机构参数(@jg)时,报表展示其直接下级的数据;如下图
图片3.png

【实现方法】
查询《对象表达式字典》,我们发现只需要用到txt属性(当前参数值对应的文字)和level属性(当前参数值在维度中的层级)即可
1.表头文本使用宏表达式,引用参数对象的txt属性,表达式为<#=@bbq.txt#>
2.浮动维表元的下钻级次属性中,使用宏表达式引用参数@jglevel属性,表达式为<#=@jg.level+1#>,如下图:
图片4.png

最近看过此主题的会员

18301609034

ligaopeng

esen_4PZ0WJGUKU

4个回答

只看楼主

程序小仙女 小试身手Lv3

发表于2018-6-22 07:56

只看该作者

取消 关注该作者的回复

沙发

能否就self对象的案例做些更详细解读?

辰哥 管理员

发表于2018-6-25 17:57

只看该作者

取消 关注该作者的回复

板凳

程序小仙女 发表于 2018-6-22 07:56
能否就self对象的案例做些更详细解读?

嗯???你可以给具体的场景,会有工程师针对你的描述,对你的需要进行超级深入的解读哟!

缱绻 数据领袖Lv6

发表于2019-5-21 10:37

只看该作者

取消 关注该作者的回复

地板

对象表达式self.leftcell(i).value 本表元左侧第i个表元
self.rightcell(i).value     本表元右侧第i个表元
self.upcell(i).value       本表元上方第i个表元
self.downcell(i).value     本表元下方第i个表元

XueG 数据小白Lv1

发表于2023-8-31 09:31

只看该作者

取消 关注该作者的回复

5#

请问哪里有《对象表达式字典》

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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

渠道咨询电话:137-0120-6790

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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