我遇到SSRS表达式问题。我试图获得截至9月份的记录的独特记录。我使用以下代码:
=(countdistinct(IIF(Fields!dischargemonth.Value = "September" and Fields!RowNumber.Value = 1, Fields!AuthId.Value, 0)))
正确的计数应该是28.我已经仔细检查了查询并且只有28条记录,但我的输出结果SSRS显示为29。
我尝试过使用“COUNT”,但我只想要不同的记录数,这样才行不通。关于为什么会发生这种情况的任何想法?
提前感谢您的帮助。
答案 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,这是正确的。