0

我创建了 4 个报告,所有这些报告都有效我有一个表达式来计算行数:

=IIF(Fields!Logged30Days.Value = "yes", Count(Fields!Logged30Days.Value),0)

但是今天我看到所有这一切都返回 0 当报告中有行时它突然停止工作如何解决这个问题以及为什么会发生这种情况?

UPDATE

现在我看到该表达式在任何报告上都不起作用,即使在它们起作用的早期备份版本上也是如此!

如果我这样做,它可以工作,但所有行只是为了显示表达式工作!但它不像之前那样工作。我如何在下面更改它以获得所需的结果。

=IIF(Fields!Logged30Days.Value = "yes", count(Fields!Logged30Days.Value),count(Fields!Logged30Days.Value))
4

1 回答 1

1

好的,您似乎只需要以下表达式:

=Sum(IIf(Fields!Logged30Days.Value = "yes", 1, 0)

所有这一切都是在计算;值为yes的行。Logged30Days它的值不是yes,它只是被忽略了计数。

在你的情况下,

=IIF(Fields!Logged30Days.Value = "yes", Count(Fields!Logged30Days.Value),0)

是相同的:

=IIF(First(Fields!Logged30Days.Value) = "yes", Count(Fields!Logged30Days.Value),0)

即,当 Scope 中有不止一行但未指定聚合时,它将只占用第一行。所以表达式仅由第一行的值决定。此外,当第一个值为yes时,Count将计算所有行,即使是那些值不是yes的行,我认为这也不是你所追求的。

于 2013-07-02T13:51:05.573 回答