gpt4 book ai didi

vba - SSRS 中的惰性求值

转载 作者:行者123 更新时间:2023-12-01 00:08:26 24 4
gpt4 key购买 nike

我正在使用 SSRS 2005 生成报告,我报告中的一列是简单的均值计算。我不想除以零,所以对于我输入的文本框值:
=Switch(Fields!Count.Value=0,0,Fields!Count.Value>0,Fields!Sum.Value/Fields!Count.Value)
这仍然评估第二个表达式。

也是如此:
=IIF(Fields!Count.Value=0,0,Fields!Sum.Value/Fields!Count.Value)
我不希望我的报告显示错误。我怎样才能克服这个问题?

最佳答案

不幸的是,因为 IIF 实际上只是一个函数,所以在调用函数之前会评估所有参数(导致您被零除)。

在表达式中嵌入复杂逻辑的一种方法是在报表中嵌入一个函数。您可以编写一个 VB 函数以在报告属性的代码选项卡中返回您喜欢的任何内容。

Public Function GetMeanValue(ByVal Sum as Decimal, ByVal Count As Int) As Decimal
'your logic in plain old vb syntax here

End Function

在文本框文本表达式属性中:
=Code.GetMeanValue(Fields!Sum.Value, Fields!Count.Value)

关于vba - SSRS 中的惰性求值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/388748/

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