如何屏蔽自动计算

在通常情况下,做了自动计算就是要让他发挥它的功能,自动按照自己的业务逻辑计算出想要得到的值。但是有一种情况,有时候需要自动计算执行,有时候则不需要,在想要动态控制自动计算是否执行的功能是否可以实现。

        一些需求是这样的,数据库中有数量,单价,总价三个字段,当总价的值在数据库中存在,则不需要执行自动计算,而当其没有值的时候就执行自动计算。下面就详细介绍下,如何屏蔽自动计算。

第一步:为报表制作数据集;

第二步:制作报表;

报表第一行是一个tag,判断当总价有值时显示1,没有值时显示0。这样就相当于做一个标记。然后将A列隐藏就不会影响报表展示的美观性。

第三步:写自动计算表达式;

        三目运算表达式:<表达式1>?<表达式2>:<表达式3>; “?”运算符的含义是: 先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式1的值; 如果表达式1 的值为假, 则求表达式3 的值并把它作为整个表达式1的值.

        在这里运用三目运算表达式与第二步中判断数据库中是否有值做标记的方法结合屏蔽自动计算表达式的运算。

第四步:效果,如图所示:

注意:自动计算表达式中,不能引用自动计算所在单元格中自身的值。所以三目运算表达式的表达式3中执行的是F2。

本文标签: