在业务系统中,常常会遇到这样的需求,用户录入了某些数据后,系统需要自动算出另外一部分单元格的值,从而方便用户的计算、简化用户的输入,进而减少错误率,这就是我们常说的自动计算功能。自动计算在 excel 中很常见,那么在报表工具里我们要如何去实现呢?
下面我们就通过润乾报表设计器来讲解一下,如何实现自动计算并提交入库的功能。
使用工具: 润乾报表 V2018
操纵步骤:
第① 步: 安装并启动设计器
第② 步:配置报表使用的数据源(我们以润乾自带的 demo 数据源里员工表为例)
点击【本地应用】-【启动示例数据库】,启动系统自带的 demo 示例数据库服务。
然后点击【填报】-【数据源】,在弹出的会话窗口中,选中 demo 数据源,点击连接按钮。demo 数据源变为粉色,即为连接成功。
第③ 步:设计报表
我们使用向导来生成一个简单的行式填报:
点击【文件】-【新建行式填报】,然后在弹出的会话窗口中,选择要使用的字段,并且勾选出主键。
点击确定之后会自动生成一个行式填报。
第④ 步: 调整样式(这个不再做详细说明)
第⑤ 步: 保存并且发布报表,展现效果如下图所示:
第⑥步:实现自动计算:让应发工资按照工资的 1.2 倍发放。
现在我们在 I3 单元格里面写自动计算的表达式:=H3*1.2
第⑦步: 保存并且发布报表,展现效果如下图:我们可以看到应发工资自动做出了改变。
这时,我们修改工资列里的任一数值,可以看到应发工资都会自动做出改变。点击提交按钮后,自动计算的数据也会保存入库。
这就是一个简单的自动计算的小例子,其中用到的自动计算表达式遵循 Excel 风格,并且允许跨页计算。为了方便使用自动计算,润乾报表中还提供了 sum(汇总)、average(平均值)、count(计数)和 sumproduct(单元格数组乘积之和)等聚合函数。
例如,汇总运算 sum(C),对扩展格中的扩展数据进行汇总。继续以上面的行式填报为例,对应发工资做一个汇总统计:
预览结果为:
对于网格式报表扩展格的汇总可以使用表达式 sum({C}),对于非扩展区域的汇总可以使用 sum(H5:I5)。
再比如单元格数组乘积之和,sumproduct(cell1,cell2),是求 cell1 与 cell2 两个单元格中数组的同位单元格乘积之和。对于非行式报表,可以写成 sumproduct({A3},{B3}),对于行式报表可以写成 sumproduct(A3,B3)。这个计算要求两个数组的成员个数一样。
这些函数的具体用法我们就不再做详细的示例了,包括在自动计算里面也支持三目运算的写法。有兴趣的小伙伴们赶紧动手实际操练起来吧 ~
填报表 JavaScript 函数说明链接:http://doc.raqsoft.com.cn/report/preference/tbbjshs.html
小提示:
1、自动计算的结果想要保存入库,在数据库表里面必须有对应的字段,我们的应发工资在员工表里面有对应的字段,所以可以保存入库,但是应发工资小计,没有对应的字段,所以即使提交也不能保存入库。 2、自动计算的数值格不可填写或修改。
作者:Spoiled
链接:http://c.raqsoft.com.cn/article/1543550151602?r=IBelieve
来源:乾学院
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。