首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用SQL Server报表生成器执行类似SUMIF的操作

使用SQL Server报表生成器执行类似SUMIF的操作
EN

Stack Overflow用户
提问于 2012-06-14 17:29:32
回答 3查看 56.8K关注 0票数 21

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

我的表达式看起来像这样:

代码语言:javascript
复制
=Sum(Iif(Fields!ProjectTypeID.Value=2,Fields!kWp.Value,0))

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

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

一位同事确实设法通过将

代码语言:javascript
复制
Fields!kWp.Value 

使用

代码语言:javascript
复制
1 * Fields!kWp.Value

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

我怎样才能让这个条件和本身表现出来呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-14 22:29:27

列'kWp‘的数据类型为Decimal,因此需要将缺省值转换为0.00或将该列转换为double

代码语言:javascript
复制
 SUM(iif(Fields!ProjectTypeID.Value = 2,cdbl(Fields!kWp.Value),0.00))
票数 30
EN

Stack Overflow用户

发布于 2018-05-14 22:49:11

我也有类似的问题,这对我很有效:

代码语言:javascript
复制
=Sum(iif(Fields!date_break.Value = "0001-01-01",Fields!brkr_fee.Value, nothing))

zb

票数 1
EN

Stack Overflow用户

发布于 2017-04-29 21:08:08

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

代码语言:javascript
复制
=sum(IIf(Fields!balance.Value > 0,(Fields!balance.Value),0))

它只对正数求和,否则它会在总数上加0,反之亦然。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11030273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档