我有一个名为“dsAllStuTargetData”的数据集 - 我正在尝试计算出现在“目标”列中的“A”值的数量。
我正在使用带有表达式的文本框执行此操作,我可以使用以下方法计算值的总数:
=Count(Fields!Target.Value, "dsAllStuTargetData")
但是,当我尝试计算值等于“A”的位置时,它不起作用。
=Count(IIF(Fields!Target.Value, "dsAllStuTargetData")="A",1,0)
我有一个名为“dsAllStuTargetData”的数据集 - 我正在尝试计算出现在“目标”列中的“A”值的数量。
我正在使用带有表达式的文本框执行此操作,我可以使用以下方法计算值的总数:
=Count(Fields!Target.Value, "dsAllStuTargetData")
但是,当我尝试计算值等于“A”的位置时,它不起作用。
=Count(IIF(Fields!Target.Value, "dsAllStuTargetData")="A",1,0)
对于这种情况,您需要 a Sum
,而不是 a Count
,例如:
=Sum(IIf(Fields!Target.Value = "A", 1, 0), "dsAllStuTargetData")
Count
只会计算行数;在IIf
那里没有做任何事情 -CountDistinct
在某些情况下可能会受到影响,但这在这里不起作用。
但是,Sum
将取满足IIf
条件的所有行的总和,即 DataSet 中所有1
值的总和,这就是您所追求的。
IIF 希望它的参数采用以下格式:
IIF(condition, true part, false part)
这相当于
Count(IIF(Fields!Target.Value = "A",1,0),"dsAllStuTargetData")
那样有用吗?