2013-10-18 42 views
0

我有一个报告,其中WHERE子句由参数@param确定。参数中的SSRS字符串更改查询

SELECT SOMESTUFF FROM SOMETABLE WHERE thing = @param

所以在运行时,用户决定如何从一个下拉框运行报告我已经添加值的参数。我想做一个选项来运行我所定义的所有值。我一直无法弄清楚代码来实现这一点。

所以,如果我已经给参数值A, B, C,我该如何告诉它在表达式中完成它们?

+1

可能的重复http://stackoverflow.com/questions/14893789/ssrs-how-to-add-all-option-to-ssrs-dropdown-filter/ –

+0

@IanPreston我读过,我做了一个多值参数。我特别想看看如何使用参数从表达式传递sql。 – d90

回答

0

这真的取决于查询,数据类型等

假设在你的榜样的“东西”的本质是一个int和您的参数是一个逗号分隔的int值列表,你可以在使用IN子句您的查询。

SELECT SOMESTUFF FROM SOMETABLE WHERE IN(@参数)事情

尽管在现实中,这将需要在SSRS

=表达式 “SELECT SOMESTUFF FROM SOMETABLE WHERE事情(” + @参数。价值+“)”

从你的例子中可以看出它们可能是字符串(A,B,C),在这种情况下,你需要在每个字符上放一个单引号才能工作。

+0

东西是文字。我试图在我的报告中基本运行一个查询来查找用于库存报告的笔记本电脑,台式机和服务器。我希望使用该参数来更改我的数据集中的where子句,使其成为其中的一个或全部。我正在考虑使参数看起来像 '桌面'或东西='笔记本电脑'或东西='服务器' 但那不工作。 – d90