首页 > 解决方案 > CountDistinct 计算错误

问题描述

所以我试图计算正确和错误的字段数量(称为[紧急])乘以常规或紧急预订的标准价格。

目前这仅适用于紧急收入计算(如下所示):

=CountDistinct(Fields!Emergency.Value = True) * 3.0

假设有两条记录的紧急字段为真,因为紧急预订的价格是 3.00 英镑,所以总输出为 6.00 英镑

虽然常规收入计算如下所示:

=CountDistinct(Fields!Emergency.Value = False) * 1.5

四个记录的紧急字段为假且常规预订价格为 1.50 英镑的输出为 3.00 英镑,而预期输出应为 6.00 英镑

我不确定是什么导致了这个问题,因为这是我第一次使用 SSRS

标签: c#sqlreporting-servicesreportingssrs-2012

解决方案


您正在计算布尔表达式的不同值。这有两个值,这就是你得到 2 的原因。

我怀疑您只想计算真实值的数量。我不知道如何在 SSRS 中表达这一点,但在 SQL 中,你可以这样做:

sum(case when Fields!Emergency.Value = 'False' then 1 else 0 end)

推荐阅读