我一直在关注this website以实现可选的多值参数。奇怪的是它只适用于以下条件:
如果我选择的值超过1,则总是没有结果。我还试图打印出=IIF(Parameters!Employee_ID.Value(0)=-1,Nothing,Join(Parameters!Employee_ID.Value,","))
的值,输出是正确的。当选择-1
时,它的值为空,当选择其他结果时,它将显示用','
分割的每个值。任何的想法?我的参数值是整数。
UDPATE
我发现当我选择多于1个值时,它会出现没有结果,因为它总是只取第一个值。例如,如果我选择了4,5,7,9
的4个值,则会将其视为WHERE id IN (4)
,而不是WHERE id IN (4,5,7,9)
。为什么呢?
答案 0 :(得分:1)
如果您的查询直接在数据集中,那么您不需要使用Join或Split或其他任何内容。
请尝试以下操作。
将您的参数更改回默认文本(我知道这是一个数字,但没关系)。
然后只需将查询更改为
detectChanges
SSRS将带您进行数据集查询,并自动为您输入参数作为逗号分隔值。参数输入无需任何操作。