Lição 1: Definindo uma consulta de conjunto de dados para um relatório de matriz
- Nesta lição, você adicionará um novo relatório ao projeto do servidor de relatório criado no tutorial Criando um relatório tabular básico, definirá uma fonte de dados e uma consulta de conjunto de dados. Você usará o banco de dados de exemplo do AdventureWorks2008 como a fonte de dados. Este tutorial assume que esse banco de dados está localizado na instância padrão do SQL Server instalado no computador local.
Para abrir um projeto do Reporting Services
Clique em Iniciar, aponte para Todos os Programas, aponte para Microsoft SQL Server 2008 e clique em Business Intelligence Development Studio.
No menu Arquivo, aponte para Abrir e clique em Projeto/Solução.
Navegue para o projeto do servidor de relatório denominado Tutorial.
Na pasta Tutorial, clique em Tutorial.sln.
Clique em Abrir para abrir o projeto.
O projeto Tutorial é exibido no Gerenciador de Soluções.
Para criar um novo relatório
No Gerenciador de Soluções, clique com o botão direito do mouse em Relatórios, aponte para Adicionar e clique em Novo Item.
Observação Se o Gerenciador de Soluções não estiver visível, no menu Exibir, clique em Gerenciador de Soluções.
Na caixa de diálogo Adicionar Novo Item, no painel Modelos, selecione Relatório.
Em Nome, digite Sales by Area and Year.rdl e clique em Adicionar.
O Designer de Relatórios é aberto em modo de Design e exibe uma definição do relatório em branco.
Para definir uma consulta Transact-SQL para obter dados do relatório
No painel Dados do Relatório, clique em Novo e em Fonte de Dados.
Na caixa Nome, digite AdventureWorksMatrixData.
Em Fonte de Dados, clique em Nova. A caixa de diálogo Propriedades da Fonte de Dados é aberta.
Em Nome, digite AdventureWorks2008.
Verifique se a opção Conexão incorporada está selecionada e se o Tipo é Microsoft SQL Server.
Em Cadeia de conexão, digite o seguinte:
Data source=localhost; initial catalog=AdventureWorks2008
Clique em OK.
A fonte de dados será exibida no painel Dados do Relatório.
No painel Dados do Relatório, clique com o botão direito do mouse em AdventureWorks2008 e clique em Adicionar Conjunto de Dados.
Em Nome, digite Vendas.
Em Tipo de consulta, verifique se Texto está selecionado.
Abaixo do painel Consulta, clique em Designer de Consulta para abrir o designer de consulta baseado em texto.
No painel de consulta, cole a seguinte consulta Transact-SQL:
SELECT SOH.SalesPersonID AS ID, P.FirstName, P.LastName, SOH.SalesOrderNumber AS [Order], SOH.OrderDate AS [Date], DATEPART(yy, SOH.OrderDate) AS [Year], DATEPART(mm, SOH.OrderDate) AS [Month], ST.[Group] AS [Geography], ST.CountryRegionCode AS CountryRegion, ST.Name AS Territory, PPC.Name AS Category, PPS.Name AS Subcat, PP.Name AS Product, PP.Color, PP.Size, CASE WHEN PP.Size = 'S' THEN 1 WHEN PP.Size = 'M' THEN 2 WHEN PP.Size = 'L' THEN 3 WHEN PP.Size = 'XL' THEN 4 ELSE PP.Size END AS SizeSortOrder, SUM(SD.OrderQty) AS Qty, SUM(SD.LineTotal) AS LineTotal FROM Sales.SalesPerson AS SP INNER JOIN Sales.SalesOrderHeader AS SOH ON SP.BusinessEntityID = SOH.SalesPersonID INNER JOIN Person.Person AS P ON P.BusinessEntityID = SP.BusinessEntityID INNER JOIN Sales.SalesOrderDetail AS SD ON SD.SalesOrderID = SOH.SalesOrderID INNER JOIN Production.Product AS PP ON SD.ProductID = PP.ProductID INNER JOIN Sales.SalesTerritory AS ST ON ST.TerritoryID = SP.TerritoryID INNER JOIN Production.ProductSubcategory AS PPS ON PP.ProductSubcategoryID = PPS.ProductSubcategoryID INNER JOIN Production.ProductCategory AS PPC ON PPC.ProductCategoryID = PPS.ProductCategoryID GROUP BY PPC.Name, SOH.OrderDate, SOH.SalesOrderNumber, PPS.Name, PP.Name, SOH.SalesPersonID, P.LastName, P.FirstName, ST.[Group], ST.CountryRegionCode, ST.Name, PP.Color, PP.Size HAVING (DATEPART(yy,SOH.OrderDate) IN ('2003','2004') AND ST.[Group] = 'North America' AND LEFT(PPS.Name,1) IN ('C','T') AND LEFT(PPC.Name,1) = 'C')
Para exibir os resultados da consulta, clique em Executar (!) na barra de ferramentas do designer de consulta.
No conjunto de resultados, você vê os dados dos 18 campos em sete tabelas diferentes no banco de dados AdventureWorks2008. Essa consulta inclui uma variedade de campos que podem ser usados para agrupar dados no relatório, incluindo o ano e o mês da data do pedido, o local geográfico do território de vendas (para país/região e território) e a categoria e a subcategoria do produto. Além disso, os dados de vendas foram filtrados para recuperar apenas pedidos de vendas dos anos de 2003 e 2004, de vendas ocorridas na América do Norte e das categorias Vestuário e Componentes e das subcategorias que começam com a letra C. A filtragem é usada neste tutorial para criar exemplos compactos que podem ser exibidos em uma única página.
Clique em OK. Clique em OK novamente.
Os campos da consulta do conjunto de dados aparecem no painel Dados do Relatório.
Próxima tarefa
Você especificou uma consulta que recupera dados para o relatório com êxito. Em seguida, você adicionará uma região de dados Matriz à superfície de design e organizará dados na matriz adicionando grupos. Consulte Lição 2: Adicionando uma região de dados de matriz com grupos de linhas e colunas.