具有不同结果的相同公式字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有不同结果的相同公式字段相关的知识,希望对你有一定的参考价值。

我有一份水晶报告,用于跟踪12个月内每月库存物品的销售情况,然后显示每月的平均销售量。我有两个相同的公式字段,每个字段都有唯一的名称,但代码相同。第一个公式字段为每个库存项目返回零,而第二个公式字段返回12个月期间正确计算的平均值。两个公式字段都放在报表的同一部分中。

这是两个公式字段的代码。

WhilePrintingRecords;
Shared NumberVar num;
Shared NumberVar total;
Shared NumberVar result;
If num = 0 Then result := 0 else result := total / num;
result;

我的报告目前正在工作,因为第二个公式字段按预期运行。在这一点上,我想了解为什么第一个公式字段不起作用。

我尝试删除分母中检测到零的逻辑。当删除此逻辑时,工作电流的公式将继续有效。破碎的公式会抛出“除以零”错误。我也很惊讶,工作公式继续使用此逻辑被删除,因为我的数据集中的行在某些时段具有NULL值。这是由于报告在报告第1个期间后的一段时间内添加的新库存项目的报告。例如,如果报告涵盖2018年期间1到12(1月到12月),并且在期间5期间将新项目添加到库存,则应为期间1到4返回NULL值,并为期间5返回数值到12个周期的平均值不应包括具有NULL值的周期。为了实现这一点,我使用一个变量来计算项目包含数字数据的时间段,并在计算平均值时使用此计数器作为分母。

我创建了其他公式字段来输出每个变量的值并将它们放在报表中。所有变量都具有我期望它们在包含它们的部分的每次迭代时保持的值。

谁能帮助我理解为什么这两个相同的公式字段各自输出不同的结果?

答案

更改

Shared NumberVar result

Local NumberVar result

使用Shared,一个公式中的值更改会影响另一个公式中的值更改。

以上是关于具有不同结果的相同公式字段的主要内容,如果未能解决你的问题,请参考以下文章

连接两个具有相同键但不同字段的表

图像上的OnClick()会添加具有不同信息的相同片段

Boost Python 和 OGRE - 具有相同代码的不同结果

使用 SCHEMABINDING 更改函数,用作具有索引的计算字段的公式

对具有相同单词但顺序不同的字符串进行分组

如何为具有不同公式的多个 glm 调用仅加载一次数据?