具有多个真实返回值的SSRS布尔参数

问题描述:

这是一个过滤器表达式,如果布尔参数设置为true,则成功返回值6。但是,如果为True,我需要它返回6和3。具有多个真实返回值的SSRS布尔参数

=IIF(parameters!Maintenance.Value = Cbool("True"), 6, fields!Group_I.Value) 
+0

IIF是一个标量函数,只能有一个返回值。你可以创建一个单独的表达式,返回3. –

+0

你在'IN'过滤器中使用了这个吗?还有别的吗? –

+0

是的。我在Expression Group_I上使用IN运算符。 我试图创建一个单独的表达式,与第一个相同,返回一个3而不是6,但报表现在不返回任何内容。我相信他们相互冲突。 –

你可以尝试这样的事情。

在你的过滤器表达式,做这样的事情:

=Switch(Fields!Group_I.Value = 3, "Maintenance", 
    Fields!Group_I.Value = 6, "Maintenance", 
    True,"Other") 

使用=的操作。

,并使用这个值表达式:

=IIf(Parameters!Maintenance.Value = True, "Maintenance", "Other") 

您可能不得不玩弄在上面的代码中的字段名。

这将根据Fields!Group_I.Value中的值限制表中显示的内容。在第一个表达式中,如果值为3或6,则将该值映射到“维护”,否则将转到“其他”。然后第二个表达式根据参数设置过滤器值。

希望这可以帮助你。