仅当另一个字段在数据集中不同时才计算字段的表达式
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.
如果这对你有帮助,请告诉我。
我的报告中有一列根据该字段的值将字段的值相加,如下所示:
=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.
如果这对你有帮助,请告诉我。