gpt4 book ai didi

reporting-services - SQL Reporting Services IIf 语句评估导致 #ERROR 的 if 两边

转载 作者:行者123 更新时间:2023-12-05 01:23:50 26 4
gpt4 key购买 nike

我目前正在编写一份报告,其中包含从 Web 服务注入(inject)的数据。该网络服务向其发送“双重?”允许空值。在报告中,它显示返回的值,这些值稍后用于对数字进行求和和平均。我的问题在于显示值的表达式(当我进行计算时,我会看到类似的问题,但每次只有一步......)我正在使用 IIf 语句检查值是否为数字,如果如果不显示空字符串,则显示值(将其转换为 double 值)。当它是一个数值时,该值会正确显示,但是当它为空时,我得到的值是#ERROR。似乎 IIf 语句评估了 IIf 语句的两端!!!

无论如何,我已经做了一些研究,似乎人们建议修改发送代码以检查其是否为空并发送 0 而不是 但是 就我而言,这无济于事(负数也无济于事,因为它也会发送负数)。这在我的情况下不起作用的原因是我必须使用全 0 但不是空值来计算平均值。例如...

"100, 0, null" => this should be an average of 50... if that null where to be converted to 0 it would average 25...



无论如何继承我的代码...
=IIf(IsNumeric(Fields!Ventas.Value), CDbl(Fields!Ventas.Value), "")

我也尝试过使用 switch 语句并得到同样的问题......
=Switch(IsNumeric(Fields!Ventas.Value) = False, "", IsNumeric(Fields!Ventas.Value) = True, CDbl(Fields!Ventas.Value))

我还通过测试测试了 IIf 条件是否正常工作:
=IIf(IsNumeric(Fields!Ventas.Value), 1, 0)

这工作正常......无论如何,任何帮助将不胜感激,因为我不知道还能尝试什么......下面是我发现的一些关于我的问题的链接,但他们再次建议发送 0 而不是 null ,这在我的情况下是无用的...并且一个链接建议使用开关,但同样不起作用...

Link #1

Link #2

最佳答案

我刚刚解决了这个问题,这是如何做到的,希望这可以帮助其他人解决同样的问题!

=IIf(IsNumeric(Fields!Ventas.Value), CDbl(IIf(IsNumeric(Fields!Ventas.Value), Fields!Ventas.Value, 0)),  "")

关于reporting-services - SQL Reporting Services IIf 语句评估导致 #ERROR 的 if 两边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11670067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com