我的报告需要显示来自不同位置或所有位置的会计数据。
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查询也可以是表达式,但我似乎无法使其工作。
答案 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)