ssrs 用户在参数中输入多个值或将其留空

ssrs user typing in multiple values in a parameter or leaving it blank

我正在 SSRS 中创建一个报告,并有一个参数供最终用户搜索帐号。在报告中,该参数默认设置为 null 以显示所有帐户。当参数不为空时,用户应该能够输入单个帐户或以逗号分隔的多个帐户。我的问题是当我尝试输入多个帐户时出现此错误:

"An expression of non-boolean type specified in a context where a condition is expected, near ','."

这是我的 sql 查询:

SELECT * FROM test_db WHERE (AccountNumber IN (@Account)) OR (@Account IS NULL)

@Account 参数的代码是

=IIF(IsNothing(Parameters!Account.Value),Parameters!Account.Value,Split(Parameters!Account.Value,","))

您无需对其进行任何操作。如果您将@Account 参数设置为多值,您可以简单地键入每个条目,然后按 [Enter],没有逗号,只是您需要的值,参数下拉列表的每一行都有一个。

然后您的原始查询将起作用,SSRS 会自动将多值列表转换为逗号分隔列表并将其注入您的 SQL。如果这没有意义,请告诉我,我会用一些图片给出完整的答案。您可能需要将查询更改为

SELECT * 
    FROM test_db 
    WHERE AccountNumber IN (@Account) 
        OR ISNULL(@Account, '' ) = ''

这也会处理空白。所以 blanks/Null 应该 return 一切