需要帮助使用分组数据创建SSRS报告

时间:2011-08-04 21:09:05

标签: reporting-services

为简单起见,我们假设我的DataSet如下所示:

SELECT C.CategoryName, C.Description, P.ProductName, P.UnitPrice, P.ReorderLevel
FROM Categories C
JOIN Products P
ON P.CategoryID = C.CategoryID

And for simplicity let's say the data I get back looks like this:
BEVERAGES   | GREAT DRINKS | SODA     | 2.99 | 1
BEVERAGES   | GREAT DRINKS | VODKA    | 9.99 | 9
SNACKS      | GREAT SNACKS | PRETZELS | 1.99 | 1
SNACKS      | GREAT SNACKS | CHIPS    | 1.99 | 1

让我们说我希望我的报告看起来像这样:

BEVERAGES - GREAT DRINKS


PRODUCT NAME      PRICE
VODKA             9.99
SODA              2.99

- PAGE BREAK -


SNACKS - GREAT SNACKS

PRODUCT NAME    | PRICE
PRETZELS        | 1.99
CHIPS           | 1.99

我将如何做到这一点?

2 个答案:

答案 0 :(得分:0)

您是否只想运行一个查询?

如果它们位于两个不同的页面上,为什么不运行两个单独的查询并添加WHERE P.ProductName =“something”或者您可以执行GROUP BY来获取不同的组并根据该结果集运行WHERE子句

SELECT C.CategoryName, C.Description, P.ProductName AS pname, P.UnitPrice, P.ReorderLevel
FROM Categories C
JOIN Products P
ON P.CategoryID = C.CategoryID
ORDER BY P.ProductName

Psuedo Code

var hold = ''
foreach result as r
  if hold != r[pname] then call function to display product listing header
  hold = r[pname]
  display product information and pricing

答案 1 :(得分:0)

花了一些时间,但基本上我认为我试图做一个子报告。我使用List为CategoryId创建了一个组。然后我创建了一个子报表,它将CategoryId作为参数传递。工作得很好。