.rdlc中Group内部的条件计数?

时间:2012-06-19 17:09:34

标签: visual-studio-2010 crystal-reports rdlc

我有一份.rdlc报告,已分组。 在每个组内,我有一个Id。其中一些是积极的,另一些则是消极的。 我需要正数量Id和负数Id

之间的差异

这样的东西
=CountDistinct(Fields!Id.Value) where Fields!Id.Value > 0 - CountDistinct(Fields!Id.Value) where Fields!Id.Value < 0

我该怎么做?我正在考虑一个函数,但我想知道是否有一种简单的方法

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

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

CountDistinct(IIf(Fields!Id.Value > 0, Fields!Id.Value, Nothing))

答案 1 :(得分:0)

创建2个全局变量。一个是积极的,一个是消极的。

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

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

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

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

希望我理解你的问题。