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 de tabela básico, definirá uma fonte de dados e uma consulta de conjunto de dados. Você usará o banco de dados de exemplo do AdventureWorks2008R2 como a fonte de dados. Este tutorial pressupõe que esse banco de dados está localizado na instância padrão do SQL Server instalada no computador local.

Para abrir um projeto do Reporting Services

  1. Clique em Iniciar, aponte para Todos os Programas, aponte para Microsoft SQL Server 2008 R2 e clique em Business Intelligence Development Studio.

  2. No menu Arquivo, aponte para Abrir e clique em Projeto/Solução.

  3. Navegue para o projeto do servidor de relatório denominado Tutorial.

  4. Na pasta Tutorial, clique em Tutorial.sln.

  5. Clique em Abrir para abrir o projeto.

    O projeto Tutorial é exibido no Gerenciador de Soluções.

Para criar um novo relatório

  1. 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çãoObservação

    Se o Gerenciador de Soluções não estiver visível, no menu Exibir, clique em Gerenciador de Soluções.

  2. Na caixa de diálogo Adicionar Novo Item, no painel Modelos, selecione Relatório.

  3. 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

  1. No painel Dados do Relatório, clique em Novo e em Fonte de Dados. A caixa de diálogo Propriedades da Fonte de Dados é aberta.

  2. Em Nome, digite AdventureWorks2008R2.

    Verifique se a opção Conexão inserida está selecionada e se o Tipo é Microsoft SQL Server.

  3. Em Cadeia de conexão, digite o seguinte:

    Data source=localhost; initial catalog=AdventureWorks2008R2
    
  4. Clique em OK.

    A fonte de dados será exibida no painel Dados do Relatório.

  5. No painel Dados do Relatório, clique com o botão direito do mouse em AdventureWorks2008R2 e clique em Adicionar Conjunto de Dados.

  6. Em Nome, digite Vendas.

  7. Em Tipo de consulta, verifique se Texto está selecionado.

  8. Abaixo do painel Consulta, clique em Designer de Consulta para abrir o designer de consulta baseado em texto.

  9. 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')
    
  10. 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 AdventureWorks2008R2. Essa consulta inclui uma variedade de campos que podem ser usados para agrupar dados no relatório, inclusive 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.

  11. 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.