SSRS 2008查询参数

时间:2009-05-21 18:47:14

标签: sql-server reporting-services ssrs-2008

我的报告需要显示来自不同位置或所有位置的会计数据。

Table_sales:

PartId    Rev     LocId
1         $10     1
2         $2      1
3         $5      2

让我们说这个查询是基本的,以获得所有收入:

SELECT SUM(rev) FROM Table_sales

如果我希望能够将报告限制到特定位置,我必须将其更改为:

SELECT SUM(Rev) FROM Table_sales WHERE LocId = @param

但是,如果我这样做,如果没有多个查询,我将如何获得所有位置?

仅供参考我的SQL 2008过滤器选项似乎不适用于我正在使用的实际查询,因为实际查询使用按功能分组。

SSRS 2008 DataSet查询也可以是表达式,但我似乎无法使其工作。

2 个答案:

答案 0 :(得分:3)

我不确定您在SSRS 2008中提到的过滤器选项或数据集查询,但在某些旧版本的SSRS中,我看到过这样的内容:

SELECT SUM(Rev) FROM Table_sales WHERE LocId = @param or 'All' = @param

我怀疑这是最有效的方法,但它允许你有一个查询,你可以选择所有结果(通过传递术语'全'作为参数)或只是你想要的LocId (通过传递适当的LocId作为参数)。

答案 1 :(得分:0)

也许你可以使用它:

SELECT SUM(Rev) FROM Table_sales WHERE LocId IN (@param)