参数过滤器SSRS表达式数据集

时间:2018-06-20 18:49:26

标签: reporting-services ssrs-2012 ssrs-expression

我有一个表达式创建的数据集,该表达式采用了其他3个数据集中的参数。

我需要为此添加一个参数,以允许用户输入一个值,然后数据集会将该值添加到where子句中以过滤显示的结果。如果输入值“ Any”,那么将对Where子句的这一部分的结果进行过滤(如果这样的话)。

我编写了此代码并将其添加到表达式Where子句中,但是它不起作用。

+ IIf(Parameters!RCode.Value = "ANY", "", " AND h.rcode = " + Parameters!RCode.Value + " ")

如果需要的话,我可以提供其余的where子句,但是如果我删除此行,则整个工作正常,如果我添加此行,它将用

炸掉
An error has occurred during report processing. (rsProcessingAborted)
Cannot set the command text for dataset 'DS'. (rsErrorSettingCommandText)

1 个答案:

答案 0 :(得分:0)

在数据集查询中,可以通过在参数名称前添加@例如前缀来使用参数名称。 @RCode

要使其正常运行,您的WHERE子句应类似于(我假设您的列名是rcode):

WHERE .... 
AND (@RCode = 'ANY' OR rcode = @RCode )

对于多值参数

WHERE ...
AND ('ANY' IN (@RCode) OR rcode IN (@RCode) )