使用SQL Server Report Builder执行类似SUMIF的操作

Dan*_*eal 18 sql-server reportbuilder reporting-services

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

我的表情看起来像这样:

=Sum(Iif(Fields!ProjectTypeID.Value=2,Fields!kWp.Value,0))
Run Code Online (Sandbox Code Playgroud)

我希望这个表达式能够产生2型所有项目的kWp总和.

不幸的是,它不是.我似乎无法找出原因.它只返回0结果,即使我知道在kWp列中有非零值,并且该列不包含空值.

一位同事确实设法取代了积极的结果

Fields!kWp.Value 
Run Code Online (Sandbox Code Playgroud)

1 * Fields!kWp.Value
Run Code Online (Sandbox Code Playgroud)

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

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

pra*_*een 24

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

 SUM(iif(Fields!ProjectTypeID.Value = 2,cdbl(Fields!kWp.Value),0.00))
Run Code Online (Sandbox Code Playgroud)