Reporting services 使用';比如';在SSRS参数检查中

Reporting services 使用';比如';在SSRS参数检查中,reporting-services,Reporting Services,当值与参数值之间有单词“decese”时,我试图显示或隐藏列(参数名称为FILTERBYand它包含多个值)。我试着用这个表达: =IIf(Parameters!FILTERBY.Value like "*decease*",False,True) 这是行不通的。FILTERBY参数是一种文本数据类型,并且启用了允许多个值选项。我做错了什么?如果设置了allow multiple parameters(允许多个参数),您应该认为参数FILTERBY是一个值数组。在这种情况下,您应该使用Join

当值与参数值之间有单词“decese”时,我试图显示或隐藏列(参数名称为
FILTERBYand
它包含多个值)。我试着用这个表达:

=IIf(Parameters!FILTERBY.Value like "*decease*",False,True)

这是行不通的。
FILTERBY
参数是一种文本数据类型,并且启用了允许多个值选项。我做错了什么?

如果设置了allow multiple parameters(允许多个参数),您应该认为参数
FILTERBY
是一个值数组。在这种情况下,您应该使用Join或String.Join函数从参数值数组中生成一个字符串,然后检查它是否包含该字符串

请尝试以下操作:

IIF(InStr(Join(Parameters!FILTERBY.Value,","),"decease")>0, False, True)
或者更适合这个问题

IIF(Join(Parameters!FILTERBY.Value,",") like "*decease*", False, True)

给出的答案不起作用,但它给了我一个实现的想法。我没有在单个参数中接收所有值,而是为可用值创建了多个参数。使用低于IIF的条件,我解决了问题。IIF(InStr(Join(参数!decise.Value,“,”)”)>0,False,True)