如何处理报表中的舍位平衡

在报表的数据统计中,常常会根据精度呈现或者单位换算等要求,需要对数据执行四舍五入的操作,这种操作称为舍位处理。简单直接的舍位处理有可能会带来隐患,原本平衡的数据关系可能会被打破。

为了保证报表中数据关系的正确,就需要调整舍位之后的数据,使得数据重新变得平衡,这样的调整就叫做舍位平衡。在这里我们就讨论一下如何利用集算器来处理舍位平衡问题。

舍位处理往往会采取四舍五入计算,这时就会产生误差,而如果报表中有这些数据的合计数值,那么舍位时产生的误差就会积累,有可能导致舍位过的数据与其合计值无法匹配。例如,保留一位小数的原始的数据是4.5+4.5=9.0,而四舍五入只保留整数部分后,平衡关系就变为5+5=9了,看上去明显是荒谬的。在这样的情况下,需要在保持合计值正确的条件下,调整非合计数据舍位后的结果,使得数据关系重新平衡,例如调整为4+5=9。这个简单的例子就是典型舍位平衡。

1. 单向舍位平衡

如果在数据统计时,每个数据只用于一次合计,那么在处理舍位平衡时,只需要根据合计值的误差,调整使用的各项数据就可以了,这属于比较简单的情况。例如:


 

A

 

B

 

C

 

1

 

[1.48,0,1.42,0.32,6.48,0.98,1.39]

 

=A1.sum()

 
 

2

 

=A1.(round(~))

 

=round(B1)

 

=A2.sum()

 

A1的序列中存储了一些数据,在B1中计算了它们的合计值,结果如下:

如何处理报表中的舍位平衡

如何处理报表中的舍位平衡

现在,将数据取整,重新统计。A2中将序列中每个数据用round函数四舍五入取整,得到新的序列。在B2中则将B1中的结果取整,这是数据取整后应该获得的结果。在C2中则只是简单地用取整后的数据来求和。A2,B2和C2中结果分别如下:

如何处理报表中的舍位平衡

如何处理报表中的舍位平衡

如何处理报表中的舍位平衡

显然,舍位后误差的累积导致数据不再平衡,将原始数据分别四舍五入后,总和由12变成了10。那么,能不能把合计数直接改为10呢?这是不行的,因为这样会使得最终结果与真实值完全不符。因此,为了保证舍位后仍然能够保持平衡关系,应该分别改变各个原始数据舍位后的结果。

舍位后总计产生的误差,称为“平衡差”,舍位平衡其实就是消除平衡差的过程。处理舍位平衡的规则有很多,下面我们分别进行研究:

(1) 将平衡差整理到第一个数据中。即:


 

A

 

B

 

C

 

1

 

[1.48,0,1.42,0.32,6.48,0.98,1.39]

 

=A1.sum()

 
 

2

 

=A1.(round(~))

 

>A2(1)+=round(B1)-A2.sum()

 

=A2.sum()

 

B2中,把平衡差折算到舍位后的第一个数据中。整理后,在C2中重新计算了舍位平衡处理后的合计值。A2和C2中的结果如下:

如何处理报表中的舍位平衡

如何处理报表中的舍位平衡

这种舍位平衡的处理规则最为简单。但是,舍位后第1个数据由1.48变为了3,明显偏移了很多,因此这样的处理不够合理,特别是在数据很多的情况下,平衡差也有可能会累积的很大,进而致使第1个数据产生非常荒谬的偏移结果。

(2) 将平衡差按照“最小调整值”,对绝对值比较大的数据进行分担调整。

所谓最小调整值,就是舍位后最小精度的单位值,例如在取整时,最小精度就是个位,最小调整值就是1或者-1。如果舍位后合计值变小,则需要将数据调大,那么最小调整值就是1;如果舍位后合计值变大,则需要将数据调小,最小调整值就是-1。而调整只针对绝对值比较大的数据,这样它们的相对偏差就会比较小。具体调整几个数,那就是合计值偏差除以最小调整值。

在这种规则下,前面问题的舍位平衡处理如下:


 

A

 

B

 

C

 

1

 

[1.48,0,1.42,0.32,6.48,0.98,1.39]

 

=A1.sum()

 
 

2

 

=A1.(round(~))

 

=round(B1)-A2.sum()

 

=sign(B2)

 

3

 

=A1.psort@z(abs(~))

 

>abs(B2).run(A2(A3(#))+=C2)

 

=A2.sum()

 

因为只是取整操作,因此C2中计算的最小调整值就是合计值偏差的正负;

A3中,根据原始数据的绝对值从大到小做了一个排序,结果就是排序后的序号。

B3是最主要的,因为只是取整操作,所以B2中的偏差绝对值是多少,就调整几个数。以此循环,依照原始值的绝对值大小,依次分配最小调整值。

C3是对调整后的A2重新验证了合计值。

调整后,A2和C3中的结果如下:

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。