Reporting Services - 如果等于A,则计算列值

时间:2013-09-19 11:04:15

标签: reporting-services

我有一个名为'dsAllStuTargetData'的数据集 - 我正在尝试计算“目标”列中显示的“A”值的数量。

我正在使用带表达式的文本框执行此操作,我可以使用以下内容计算值的总数:

=Count(Fields!Target.Value, "dsAllStuTargetData")

但是,当我尝试计算值等于'A'的位置时,它不起作用。

=Count(IIF(Fields!Target.Value, "dsAllStuTargetData")="A",1,0)

2 个答案:

答案 0 :(得分:29)

对于这种情况,您需要Sum,而不是Count,例如:

=Sum(IIf(Fields!Target.Value = "A", 1, 0), "dsAllStuTargetData")

Count只计算行数; IIf在那里没有做任何事情 - 在某些情况下CountDistinct之类的内容会受到影响,但这不会在这里发挥作用。

但是,Sum将获取满足IIf条件的所有行的总和,即DataSet中所有1值的总和,这就是您所追求的。

答案 1 :(得分:1)

IIF希望它的格式为:

IIF(condition, true part, false part)

这等同于

Count(IIF(Fields!Target.Value = "A",1,0),"dsAllStuTargetData")

这有用吗?