对于我们的一个报告,我试图获取具有值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中获得相同的行为。有什么想法吗?
答案 0 :(得分:2)
如果可能的话,在评论中建议,在T-SQL中执行此操作并不是一个坏主意,但您可以在报表中使用如下表达式执行此操作:
=CountDistinct(IIf(Fields!Canceled.Value = 1, Fields!booking_id.Value, Nothing))
CountDistinct
将忽略Nothing
(即Null)记录,因此您可以将CountDistinct
应用于返回IIf
或{{1}的booking_id
表达式基于Nothing
。