E立方管理平台-信息化管理软件-Excel服务器中的社区化服务

Excel服务器涉及区分空值和零值模板说明

日期:2017-04-28 10:03  |  分类:最新资讯  |  人气:

     Excel服务器在模板属性中,有一个属性“数据类型的数据需要区分空值和零(较少使用)”,选择后,对以后的表间取数会带来一些需要额外注意的事项。
默认情况下,为了方便数据的处理,对于属于数值类型的数据项目,系统是不区分空值和零值的,也就是空值和零值是等价的,所以我们在表间公式中表示数值类型项目是否为空时,都是统一用是否等于“0”来表示的,例如:“订货单_明细.数量 = 0”就是表示数量等于0或者等于空。
但有时候,业务的空和零是有着完全不一样的意义,必须要区分开来,这时候你就需要选择该选项了。不过也要注意,选择这个选项后,可能对在表间取数公式的取数带来一些麻烦,例如:“订货单_明细.数量 = 0”就仅仅表示数量等于0的数据,是不包含等于空的数据。
管理软件在数据库中,“空值”有特殊的意思,它表示“没有内容,什么都不是”,所以它不能直接参与比较,也不能参与运算,例如 空值与任何数值运算后都是空。为了解决这个问题,需要用到“转换控制”这个函数,利用这个函数可以把空值转为其它数值,从而解决判断和运算的问题。
转换空值( <<字段参数1>> , <<值参数2>> )
如果<<字段参数1>>为空(NULL),那么就返回<<值参数2>>,否则还是返回<<字段参数1>>的值,例如:转换空值( 数量字段,  0 )
例如:如果你要表示“数量=0或者=空”的数据,那你就要这么写:
        转换空值(订货单_明细.数量, 0 ) = 0
      如果你要统计所有“数量=0或者=空”的数据,那你就要这么写:
        合计值(转换空值(订货单_明细.数量, 0 ) )
      如果这样写:合计值(订货单_明细.数量),结果有可能不对。
一般来说,我们需要在数据源中把具体的数据表选择进来,以表示从那里获取需要的数据,特殊情况下,我们可能需要对当前尚未保存的数据做二次处理,这时候不选择数据来源即可(也就是我们以前使用《系统保留数据表》的情况)。
       下面我们看看几个例子:

公式如下:

如下图所示,公式的数据来源是空的:

上面的Excel服务器例子是一个简单的加法器,你输入加数和被加数,就会自动求和,不过它不是我们常
用的Excel公式,而是数据来源为空的表间取数公式。
    管理软件对于一些复杂的报表,有时候很难用一条公式就可以直接获取想要的结果,而是需要配
合多条公式,你需要先用一些公式把数据取过来,作为中间临时数据,然后再接着用其它公
式作进一步的处理,这样经过多次后才能等到自己想要的结果,这时候可能就需要用到这种
技巧了。这种情况,中间临时数据通常为明细数据;这种公式如果用在明细表中,当数据量
很大的时候,效率可能不是很好,所以必须合理使用。有时候甚至直接从最原始的数据源里
取数会更好。

LiveZilla Live Help
LiveZilla Live Help