首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIF语句LogiXML

IIF语句LogiXML
EN

Stack Overflow用户
提问于 2012-06-20 16:42:19
回答 1查看 808关注 0票数 0

我在试图做以下工作时遇到了困难。我正试图将iif声明包含在标题中。这是在标签上计算的当前行:

=圆形(@ Data.rp_TATStatAtBenchmark~ /@ Data.rp_TATStatCount~ * 100) + "%"

当@ Data.rp_TATStatCount =0和@ Data.rp_TATStatAtBenchmark =0时,我将其改为汉德尔错误(出于某种原因,报告显示了?)当第二个值为0,而不是仅显示"0%“时。总之,这就是我想写的:

=IIf((@ Data.rp_TATStatAtBenchmark~ = "0“或@ Data.rp_TATStatCount~ = "0"),"0%",圆形(@ Data.rp_TATStatAtBenchmark~ /@ Data.rp_TATStatCount~ * 100) + "%")

但这是行不通的。任何帮助都将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-21 13:08:06

如果@Data.rp_TATStatCount~值为0,则看到“??”结果的原因是??是因为除以零是一个没有意义的数学表达式(“未定义的”)。这将始终以“??”的形式返回。而不是一个数字--所以结果永远不会是0。由于令牌变量只是简单地被替换,即使您使用的是iif()语句,表达式仍然会被检查是否有效。

如果您想要为除以零创建一个异常,那么您还需要提供一个计算来检查何时rp_TATStatCount = 0,或者用一个非零整数替换它,或者使用一个不同的列名。最好的方法可能是创建第二个计算列,该列检查零( iif()语句),然后使用这个新创建的列来执行圆形()函数。

下面是使用现有列名的静态数据器内部的一个快速示例:

代码语言:javascript
复制
<DataLayer Type="Static" ID="dlStatic">
 <StaticDataRow rp_TATStatAtBenchmark="0" rp_TATStatCount="0" />
   <CalculatedColumn Formula="iif(@Data.rp_TATStatCount~=0, 1, @Data.rpTATStatCount~)" ID="StatCount2" />
   <CalculatedColumn Formula="iif(@Data.rp_TATStatAtBenchmark~ = &quot;0&quot; OR @Data.rp_TATStatCount~ = &quot;0&quot;, &quot;0%&quot;, round(@Data.rp_TATStatAtBenchmark~ / @Data.StatCount2~ * 100) + &quot;%&quot;)" ID="pctCol" />
</DataLayer>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11124213

复制
相关文章

相似问题

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