添加多个 IIF 语句 SSRS

Adding multiple IIF statements SSRS

如果基本条件为真,我正在尝试将多个字段加在一起。

更具体地说,我只想将满足或超过用户设置的参数的字段加在一起。

我觉得这是我最接近的一次。我真的很感激任何帮助!谢谢

=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)

字段 B 应该是

=IIF(Fields!TestB.Value >= Parameters!TestB.Value,Fields!TestB.Value,0)

同样适用于 C。

如果我遗漏了什么或者您想通过检查单个字段的多个条件来设置值,请告诉我?

如果您的字段或参数是 text/string,那么您可能需要使用 INT() 或 CDEC() 将它们转换为 INT 或十进制数。否则,IIF 可能会将比较作为字符串而不是数字比较(例如 "2" > "100")。

尝试将您的字段转换为 INT:

=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)