MS Access:如何在数量不为零的报告中平均数量列表?

MS Access: How can I average a list of quantities on a report where the quantities are not zero?

我有一份报告。这会报告 returns 很多行。其中一列是 qty_req(所需数量)。我需要 AVG() 这一列,并将平均值放在报告的底部。问题是有时某些行在此列中有一个零。我希望平均值排除所有为零的行。我怎样才能做到这一点?

我尝试过的方法:我尝试在查询中使用 DAvg,但它使查询时间变得非常长。

那么您不能使用计算的 SUM()AVG() 字段,就这么简单。
这些函数始终使用报表中的所有行。

需要DSum()DAvg()单独计算。

如果速度太慢,您需要解决这个问题。

Avg() 忽略 Null 值。因此,您可以使用 IIf() 表达式将 Null 交换为零值,然后将 Avg() 基于该 IIf() 表达式。

这是我报告页脚中文本框的控件源:

=Avg(IIf([gainOrLoss]=0, Null, [gainOrLoss]))

gainOrLoss 是报表记录源中的一个字段。并且文本框显示所有那些既不是零也不是 Null 的值的平均值。