查询在SQL Server中正常工作,但在SSRS中不起作用

时间:2016-04-26 18:50:56

标签: ssrs-2008-r2

报表查询的参数可以采用以下两个值之一:ActiveCustomers或AllCustomers,并根据用户选择的数据进行过滤。

我的问题是这个查询在SQL服务器上运行正常,但在SSRS中不起作用,除非我硬编码数据集查询中的参数值或者使用过滤器使用的where子句"喜欢& #34;而不是" ="。

SSRS参数定义为TEXT类型并具有可用值" ActiveCustomers"和#34; AllCustomers"并默认采取" ActiveCustomers"。 我已经检查过拼写是否正确且一致。

我的问题是为什么SSRS没有使用" ="我必须使用"喜欢"。

这是我如何从数据集查询中声明参数和where子句:

  declare @Show nvarchar(32) = 'ActiveCustomers' --or 'AllCustomers'

和过滤数据的where子句是:

where  (Order like '%2016')
     and ((@Show = 'ActiveCustomers' and Order.[Status] <> 'Closed') or (@Show = 'AllCustomers'))

1 个答案:

答案 0 :(得分:1)

简单的解决方法是将查询保存为存储过程。然后让SSRS执行存储过程。这让我遇到了复杂的查询问题。