5

我有一个 .rdlc 报告,已分组。在每个组内,我都有一个 ID。其中一些是积极的,而另一些则是消极的。我需要正数 Id 和负数 Id 之间的差异

就像是

=CountDistinct(Fields!Id.Value) where Fields!Id.Value > 0 - CountDistinct(Fields!Id.Value) where Fields!Id.Value < 0

我怎样才能做到这一点 ?我正在考虑一个功能,但我想知道是否有一种简单的方法

编辑:每个组中的 Id 可以不止一次,这就是我使用 CountDistinct 的原因

4

2 回答 2

3

你可以试试这个:

CountDistinct(IIf(Fields!Id.Value > 0, Fields!Id.Value, Nothing))
于 2013-08-15T14:52:43.520 回答
0

创建 2 个全局变量。一个是正​​面的,一个是负面的。

然后创建一个计算它们的新公式,如下所示:

WhilePrintingRecords;
IF (GroupName ({your_group_name}) > 0) THEN
    Positive var = Positive var + 1;
ELSE 
    Negative var = Negative var + 1;

您实际上可以在公式中查找您的组,并在编写公式时将其拖到编辑器中。

由于它是组级别的操作,因此应首先读取记录。这就是我们使用 whilePrintingRecords 而不是 whileReadingRecords 的原因。

希望我正确理解了您的问题。

于 2012-11-01T17:00:19.520 回答