自动计算中引用自身单元格的值

集智数据平台报表系统提供的自动计算功能大大保证了用户输入数据的快速性和准确性。但随着需求的不断变化,有时我们可能要想一些其他的办法来满足五花八门的需求。如,希望在报表的一列中取某字段的值,当数据库中对应的记录没有值时则显示自动计算后的值。

 

集智数据平台报表系统提供的自动计算功能,结合上述问题本身,其实不难解决。无非使用判断,若数据库有值则取该值,否则显示自动计算的值。看一下报表

说明: http://192.168.0.6/reportmis/mis2/reportcenter/ewebeditor/imgServlet?fileID=178a01e0-c789-4564-9fb3-2b1c497e7fd8

在C2单元格的自动计算中这样写:${C2}==''?${A2+B2}:${C2}

 

报表发布后我们发现报脚本错误,原因是自动计算中无法直接引用自身单元格,并且无法使用类似单元格中的value()函数。我们很快会想到复制一个C2到其他单元格,然后在C2中引用那个单元格就可以了,当然这是一种办法,但是对于数据量大的报表来说,增加单元格会影响效率。所以必须想办法在C2的自动计算中引用C2的值。

 

由于报表系统中的自动计算中支持js函数,我们可以想办法得到C2的单元格ID,通过document对象获取其值。报表做一下修改,增加行号:

说明: http://192.168.0.6/reportmis/mis2/reportcenter/ewebeditor/imgServlet?fileID=5222b22d-8332-492e-8f87-5e9c30693b1b

D2的自动计算表达式:document.getElementById("report1_D"+${A2}).innerText==''?${B2+C2}:document.getElementById("report1_D"+${A2}).innerText   

 

我们看一下页面的结果:

说明: http://192.168.0.6/reportmis/mis2/reportcenter/ewebeditor/imgServlet?fileID=9fa55aff-565a-4fba-b158-41ce770f1907

 

更多了解各种复杂问题的处理,可以参考:强大的报表计算功能,灵活处理各种复杂格式和计算企业收集数据、查询、报表、分析的一体化平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值