Параметры запроса SSRS 2008 - PullRequest
2 голосов
/ 21 мая 2009

У меня есть отчет, который должен отображать бухгалтерские данные из разных мест или всех мест.

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 ]

3 голосов
/ 21 мая 2009

Я не уверен насчет параметров фильтра или запросов к набору данных, которые вы упомянули в SSRS 2008, но в некоторых старых версиях SSRS я видел такие вещи:

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

Я сомневаюсь, что это наиболее эффективный способ сделать это, но он позволяет вам иметь 1 запрос, в котором вы можете выбрать либо все результаты (передавая термин «All» в качестве параметра), либо просто нужный вам LocId (путем передачи соответствующего LocId в качестве параметра).

0 голосов
/ 22 мая 2009

Может быть, вы можете использовать это:

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