21

我正在尝试在 SQL Server Report Builder 3.0 中生成条件总和。

我的表情是这样的:

=Sum(Iif(Fields!ProjectTypeID.Value=2,Fields!kWp.Value,0))

我希望这个表达式会产生所有类型 2 项目的 kWp 的总和。

不幸的是,事实并非如此。我似乎无法弄清楚为什么。它只返回 0 结果,即使我知道 kWp 列中有非零值,并且该列不包含空值。

一位同事确实设法通过更换

Fields!kWp.Value 

1 * Fields!kWp.Value

但是我们不知道为什么会这样,因此不能真正相信答案。

我怎样才能得到这个条件总和来表现自己?

4

4 回答 4

31

'kWp' 列的数据类型是 Decimal,因此您需要将默认值转换为 0.00 或将该列转换为 double

 SUM(iif(Fields!ProjectTypeID.Value = 2,cdbl(Fields!kWp.Value),0.00))
于 2012-06-14T14:29:27.160 回答
1

要得到类型2的所有项目sumkWp,表达式如下:

=IIf(Fields!ProjectTypeID.Value=2,sum(Fields!kWp.Value),0) 

我希望这会帮助你。

于 2012-06-14T10:15:22.527 回答
1

我有类似的问题,这对我有用:

=Sum(iif(Fields!date_break.Value = "0001-01-01",Fields!brkr_fee.Value, nothing))

zb

于 2018-05-14T14:49:11.253 回答
0

要获得条件总和,您可以尝试此表达式

=sum(IIf(Fields!balance.Value > 0,(Fields!balance.Value),0))

它只对正数求和,否则它会将 0 添加到总数中,反之亦然。

于 2017-04-29T13:08:07.677 回答