我有一份.rdlc报告,已分组。 在每个组内,我有一个Id。其中一些是积极的,另一些则是消极的。 我需要正数量Id和负数Id
之间的差异像
这样的东西=CountDistinct(Fields!Id.Value) where Fields!Id.Value > 0 - CountDistinct(Fields!Id.Value) where Fields!Id.Value < 0
我该怎么做?我正在考虑一个函数,但我想知道是否有一种简单的方法
编辑:每个组中的ID可能不止一次,这就是我使用CountDistinct的原因
答案 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。
希望我理解你的问题。