首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SSRS中,如果双精度不是无穷大、-infinity或Nan,如何确定?

在SSRS中,如果双精度不是无穷大、-infinity或Nan,如何确定?
EN

Stack Overflow用户
提问于 2011-07-29 06:29:46
回答 2查看 2.2K关注 0票数 0

如果获取了从SSAS返回的数据集,其中某些记录可能是infinity或-infinity (在SSAS中计算,而不是在报告中计算)。

我想计算这一列的平均值,但忽略那些正无穷大或负无穷大的记录。

我的想法是创建一个逻辑上可以做到这一点的计算字段:

代码语言:javascript
复制
= IIF(IsInfinity(Fields!ASP.Value) or IsNegativeInfinity(Fields!ASP.Value), 0 Fields!ASP.Value)

我搞不懂的是怎么做IsInfinityIsNegativeInfinity

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-22 18:16:11

只是偶然发现了这个问题,并找到了一个简单的解决方案来确定一个数值字段是否为无穷大。

代码语言:javascript
复制
=iif((Fields!Amount.Value+1).Equals(Fields!Amount.Value), false,true)
票数 3
EN

Stack Overflow用户

发布于 2012-01-13 09:28:12

我假设您使用的是商业智能工作室,而不是报表生成器工具。

也许您正在尝试一个公式,因为您不能更改SSAS MDX查询,但如果可以,那么无穷大很可能是由除以零引起的。NaN很可能是由尝试使用空值进行数学运算造成的。

理想情况下,改变多维数据集本身,这样度量就不会被零除了(例如,如果度量= 0,不要做除法只返回"",否则就做除法)。第二种选择是在MDX查询中创建一个执行类似操作的计算度量。

至于公式,没有IsInfinity函数,所以您必须查看字段的值,看看它是1.#IND、1.#INF还是NaN。

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

https://stackoverflow.com/questions/6866543

复制
相关文章

相似问题

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