避免数值表达式中出现溢出错误
如果数值溢出时停止选项已打开,则当计算结果超出 22 位数(包括小数位)时,会出现溢出错误。 出现溢出时,Analytics 将停止处理并在视图中显示 ###ERR###。
当计算涉及非常大的数字或带许多小数位的数字(如财务计算、百分比和现值)时,会出现溢出。 当在财务函数中使用无效参数(如负的付款期数)以及在计算中被零除时,也会出现溢出。
可以关闭数值溢出时停止选项。 Analytics 将继续执行命令,但是它同时也会从左侧开始截断超出的位数,这会导致结果不精确。
可以创建条件域以避免被零除。 例如,在“总工资/工作时间”(Gross pay/Hours worked) 的计算中,如果某员工在此特定时期内的工作时间为零,则会出现被零除的现象。 要确保 Analytics 只计算包含非 0 值的域,请使用这些值和条件创建条件计算域:
-
默认值: 0
-
条件: 工作时间 <> 0
-
值: 总工资/工作时数
另一种更安全的做法是保持数值溢出时停止选项打开,并小心使用包含较大数字或多位小数数字的值。 此外,还需要注意财务函数参数以及可能被零除的计算。
在财务函数中使用明显无效的函数参数(如负的期数)时,该函数将使用以下方法之一处理它:
-
如果数值溢出时停止选项被启用,Analytics 会停止处理
-
如果数值溢出时停止选项关闭,函数将返回值 -1。