Reporting services 添加多个IIF语句SSR
如果基础条件为true,我将尝试将多个字段添加到一起 更具体地说,我希望仅当字段满足或超过用户设置的参数时,才将字段添加到一起 我觉得这是我最近的一次。我真的很感激任何帮助!多谢各位Reporting services 添加多个IIF语句SSR,reporting-services,ssrs-2012,Reporting Services,Ssrs 2012,如果基础条件为true,我将尝试将多个字段添加到一起 更具体地说,我希望仅当字段满足或超过用户设置的参数时,才将字段添加到一起 我觉得这是我最近的一次。我真的很感激任何帮助!多谢各位 =IIF(Fields!TestA.Value >= Parameters!TestA.Value,Fields!TestA.Value,0) +IIF(Fields!TestB.Value >= Parameters!TestB.Value,Fields!TestB.Value,0) +IIF(Fie
=IIF(Fields!TestA.Value >= Parameters!TestA.Value,Fields!TestA.Value,0)
+IIF(Fields!TestB.Value >= Parameters!TestB.Value,Fields!TestB.Value,0)
+IIF(Fields!TestC.Value >= Parameters!TestC.Value,Fields!TestC.Value,0)
我们的想法是首先测试字段是否大于或等于参数,如果它很大,则将其添加到总数中,否则只需将0添加到总数中,然后继续 如果我理解你的问题是正确的, 您希望为字段A、字段B和字段C设置值 所以对于场A,你的条件应该是
=IIF(Fields!TestA.Value >= Parameters!TestA.Value,Fields!TestA.Value,0)
=IIF(Fields!TestB.Value >= Parameters!TestB.Value,Fields!TestB.Value,0)
对于字段B,它应该是
=IIF(Fields!TestA.Value >= Parameters!TestA.Value,Fields!TestA.Value,0)
=IIF(Fields!TestB.Value >= Parameters!TestB.Value,Fields!TestB.Value,0)
类似地,它也适用于C
如果我遗漏了什么,或者您想通过检查单个字段的多个条件来设置值,请告诉我?如果您的字段或参数是文本/字符串,则可能需要使用INT()或CDEC()将它们转换为and INT或十进制数。否则,IIF可能会将比较作为字符串而不是数字比较(例如,
“2”>“100”
)
尝试将字段转换为整数:
=IIF(INT(Fields!TestA.Value) >= INT(Parameters!TestA.Value), Fields!TestA.Value, 0)
+IIF(INT(Fields!TestB.Value) >= INT(Parameters!TestB.Value), Fields!TestB.Value, 0)
+IIF(INT(Fields!TestC.Value) >= INT(Parameters!TestC.Value), Fields!TestC.Value, 0)
你的代码看起来不错。你有什么问题吗?从你的描述和代码来看,这看起来很好,到底出了什么问题?它没有抛出任何错误,它似乎只是把所有的东西加在一起,不管参数是否满足。