如何对基于SSRS报表生成器表中的表达式的列求和

时间:2013-04-24 12:58:03

标签: reporting-services reportbuilder3.0

如果列中的值基于另一个字段,则表达式为

=iif(Fields!TaskType.Value = "Type1", Fields!Amount.Value, 0)

我正在尝试使用folooing exporession获取组总数中的总和,但它给出了#Error(包含或不包含组名作为范围):

=sum(iif(Fields!TaskType.Value="Type1", Fields!Amount.Value, 0), "GrpProjectNumber")

这对我来说很好看。我究竟做错了什么? 提前致谢

1 个答案:

答案 0 :(得分:3)

我构建了一个简单的DataSet来尝试和模仿你的:

select Amount = cast(100.0 as money), TaskType = 'Type1'
  union all select Amount = cast(100.0 as money), TaskType = 'Type1'
  union all select Amount = cast(100.0 as money), TaskType = 'Type2'

我用您的表达式复制了您的错误,但以下内容适用于我:

=Sum(IIf(Fields!TaskType.Value="Type1", Fields!Amount.Value, CDec(0)), "GrpProjectNumber")

所以看起来你走的是正确的道路;只需将CDec强制转换应用于表达式中的0常量。