仅当数据集中另一个字段不同时才计算字段的表达式
Posted
技术标签:
【中文标题】仅当数据集中另一个字段不同时才计算字段的表达式【英文标题】:expression to count field only if another field is distinct in the dataset 【发布时间】:2016-02-02 19:34:00 【问题描述】:我的报告中有一个列,它根据字段值将字段的值相加,如下所示:
=COUNT(iif(Fields!isAcceptable.Value > 0, 1, Nothing))
但是,我需要该计数依赖于另一个名为 testItemId 的字段。有时 testItemId 可以在数据集中出现 2 次或更多次,但我需要上面的计数表达式每个 testItemId 只计数一次。所以如果同一个testItemId出现4次,我只希望isAceptable值被统计一次。
我也尝试了 COUNTDISTINCT,但这只是给了我每行的“-1”。
有没有办法在表达式中做到这一点?
谢谢
【问题讨论】:
如果TestItemId
重复,isAcceptable
的值也会重复吗?
@alejandrozuleta 是的,谢谢
【参考方案1】:
试试这个:
=CountDistinct(IIF(Fields!isAcceptable.Value>0,Fields!TestID.Value,Nothing))
它会产生这个:
更新:
它说:如果该行是可接受的(大于 0),它会将 TestID
传递给 CountDistinct
函数,否则它不会传递任何东西(认为该行被省略了)。当传递 new TestId
值时,CountDistinct
将得到 TestID
值和 1
的总和。
返回由 表达式,在给定范围的上下文中求值。
Reference
如果这对你有帮助,请告诉我。
【讨论】:
谢谢,您能解释一下这是如何工作的吗?我查找了 CountDistinct 的语法,但找不到像您这样的示例。 @999cm999,检查我的更新。希望它可以帮助您理解表达式的作用。以上是关于仅当数据集中另一个字段不同时才计算字段的表达式的主要内容,如果未能解决你的问题,请参考以下文章