报告构建器3.0使用where子句计数

时间:2014-09-05 12:50:24

标签: reporting-services report builder reportbuilder3.0

对于我们的一个报告,我试图获取具有值Canceled值为1的行的计数。过去我使用我在Stackoverflow上找到的解决方案来使用带有IIF的Sum函数,即< / p>

=Sum(iif(Fields!Canceled.Value="True", 1, 0))

但是现在我的源数据为一个booking_id有多行,所以我需要在该列上添加一个不同的行。在SQL中我可以很容易地做到

SELECT COUNT(DISTINCT(booking_id)) FROM Booking WHERE Canceled=1

但我无法弄清楚如何在Report Builder 3.0中获得相同的行为。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果可能的话,在评论中建议,在T-SQL中执行此操作并不是一个坏主意,但您可以在报表中使用如下表达式执行此操作:

=CountDistinct(IIf(Fields!Canceled.Value = 1, Fields!booking_id.Value, Nothing))

CountDistinct将忽略Nothing(即Null)记录,因此您可以将CountDistinct应用于返回IIf或{{1}的booking_id表达式基于Nothing