Expression中的CountDistinct正在向计数SSRS 2008添加+1

时间:2012-11-28 16:51:55

标签: ssrs-2008

我遇到SSRS表达式问题。我试图获得截至9月份的记录的独特记录。我使用以下代码:

=(countdistinct(IIF(Fields!dischargemonth.Value = "September" and Fields!RowNumber.Value = 1, Fields!AuthId.Value, 0)))    

正确的计数应该是28.我已经仔细检查了查询并且只有28条记录,但我的输出结果SSRS显示为29。

我尝试过使用“COUNT”,但我只想要不同的记录数,这样才行不通。关于为什么会发生这种情况的任何想法?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

匹配记录的计数为28,而为不匹配的记录分配的零的计数为1。除非你的一个匹配记录有一个字段!AuthId.Value = 0然后它就是29.如果你知道Fields!AuthId.Value永远不会为零,只需从总结果中取一个。

答案 1 :(得分:0)

感谢Dave的见解。因此,我没有使用“0”,而是将代码更新为

=(countdistinct(IIF(Fields!dischargemonth.Value = "September" and Fields!RowNumber.Value = 1, Fields!AuthId.Value, "Nothing")))

现在计数显示28,这是正确的。