仅当另一个字段在数据集中不同时才计算字段的表达式

expression to count field only if another field is distinct in the dataset

我的报告中有一列根据该字段的值将字段的值相加,如下所示:

=COUNT(iif(Fields!isAcceptable.Value > 0, 1, Nothing)) 

但是,我需要该计数依赖于另一个名为 testItemId 的字段。有时 testItemId 可以在数据集中出现 2 次或更多次,但我需要上面的计数表达式对每个 testItemId 只计数一次。所以如果同一个testItemId出现4次,我只希望isAceptable值算一次。

我也试过 COUNTDISTINCT,但那只是给了我每行一个“-1”。

有没有办法在表达式中做到这一点?

谢谢

试试这个:

=CountDistinct(IIF(Fields!isAcceptable.Value>0,Fields!TestID.Value,Nothing))

它会产生这个:

更新:

它说:如果该行是可接受的(大于 0),它会将 TestID 传递给 CountDistinct 函数,否则它将不传递任何内容(认为该行被省略)。当传递 new TestId 值时,CountDistinct 将通过 1 获得 TestID 值总和。

Returns a count of all distinct non-null values specified by the expression, evaluated in the context of the given scope.

Reference

如果这对你有帮助,请告诉我。