Lição 1: Criando conjuntos de dados compartilhados e configurando parâmetros de relatório (SSRS)

Nesta lição, você criará conjuntos de dados compartilhados e configurará parâmetros de relatório com base nos parâmetros de consulta do relatório Employee_Sales_Summary_2008R2.

O que você aprenderá

Neste tutorial, você aprenderá a:

  • Criar uma cópia do relatório base com a qual iniciar.

  • Adicionar vários conjuntos de dados compartilhados ao projeto e ao relatório.

  • Configurar parâmetros de relatório que são criados automaticamente para cada parâmetro de consulta do conjunto de dados.

  • Adicionar uma descrição de cenário que explica o objetivo do relatório para o usuário do relatório.

  • Adicionar texto oculto condicionalmente para exibir a fonte de dados e informações de consulta do conjunto de dados.

  • Adicionar texto oculto condicionalmente para exibir valores de parâmetros que foram escolhidos pelo usuário do relatório.

  • Adicionar texto oculto condicionalmente para exibir a descrição do relatório.

  • Adicionar um título de relatório.

  • Visualizar e verificar o relatório.

  • Implantar o relatório.

Tempo estimado para concluir este tutorial: 15 minutos.

Requisitos

Para obter informações sobre os requisitos, consulte Pré-requisitos para os relatórios de exemplo AdventureWorks 2008R2 (SSRS).

Esta lição pressupõe que você tenha concluído Criando o projeto do servidor de relatório o projeto AdventureWorks2008R2_Base (SSRS).

Dicas

Para obter uma lista de dicas gerais, consulte Dicas de design de relatórios (Construtor de Relatórios 3.0 e SSRS).

Para abrir o projeto e fazer uma cópia de um relatório

  1. No Business Intelligence Development Studio, abra o projeto do servidor de relatório dos Relatórios de Exemplo da AdventureWorks 2008R2.

  2. No Gerenciador de Soluções, proceda da seguinte maneira:

    1. Clique com o botão direito do mouse em AdventureWorks2008R2_Base.rdl e clique em Copiar.

    2. Clique com o botão direito do mouse no nó do projeto e clique em Colar.

    3. Renomeie o relatório copiado para Employee_Sales_Summary_2008R2.rdl.

Criar conjuntos de dados compartilhados

Este projeto de relatório usa quatro conjuntos de dados compartilhados que são baseados na fonte de dados compartilhada AdventureWorks2008R2.

Criar EmployeeSalesYearOverYear2008R2

Para adicionar um conjunto de dados compartilhado para vendas de ano a ano

  1. No Gerenciador de Soluções, adicione um conjunto de dados compartilhado denominado EmployeeSalesYearOverYear2008R2.

    Os dados ajudam a responder a pergunta: Como minhas vendas sazonais se comparam ano a ano?

    No relatório, o gráfico de linhas e o minigráfico exibirão esses dados.

  2. Aponte para a fonte de dados compartilhada AdventureWorks2008R2 e adicione a seguinte consulta:

    SELECT   P.FirstName + ' ' + P.LastName AS Employee, 
       DATEPART(Year, SOH.OrderDate) AS [Year], 
       DATEPART(Month, SOH.OrderDate) AS MonthNumber, 
       DATENAME(Month, SOH.OrderDate) AS [Month], 
       SUM(DET.LineTotal) AS Sales
    FROM [Sales].[SalesPerson] SP 
       INNER JOIN [Sales].[SalesOrderHeader] SOH ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [Sales].[SalesTerritory] ST ON SP.[TerritoryID] = ST.[TerritoryID] 
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] P ON P.[BusinessEntityID] = SP.[BusinessEntityID]
    WHERE (DATEPART(Year, SOH.OrderDate) <= @ReportYear - 1 OR
       DATEPART(Year, SOH.OrderDate) = @ReportYear AND DATEPART(Month, SOH.OrderDate) <= @ReportMonth) AND 
       (SOH.SalesPersonID = (@EmployeeID))
    GROUP BY P.FirstName + ' ' + P.LastName, SOH.SalesPersonID, 
       DATEPART(Year, SOH.OrderDate), DATEPART(Month, SOH.OrderDate), 
       DATENAME(Month, SOH.OrderDate)
    

    O conjunto de dados compartilhado é exibido no Gerenciador de Soluções.

  3. No painel Dados do Relatório, crie um conjunto de dados denominado EmployeeSalesYearOverYear2008R2.

  4. Na caixa de diálogo Propriedades do Conjunto de dados, selecione Usar um conjunto de dados compartilhado e clique no conjunto de dados que você acabou de criar no Gerenciador de Soluções.

    A consulta do conjunto de dados inclui as variáveis de consulta @ReportMonth, @ReportYear e @EmployeeID.

  5. Em Propriedades do conjunto de dados, verifique se um parâmetro de conjunto de dados foi criado para cada variável de consulta.

  6. No painel Dados do Relatório, verifique se foi criado um parâmetro de relatório para cada parâmetro de conjunto de dados.

O conjunto de dados no painel Dados do Relatório é uma referência ao conjunto de dados compartilhado no Gerenciador de Soluções. Depois que o relatório for publicado, a referência apontará para o conjunto de dados compartilhado no servidor de relatório ou no site do SharePoint.

Criar EmployeeSalesDetail2008R2

Para adicionar um conjunto de dados compartilhado que contenha dados de cada ordem de vendas

  1. No Gerenciador de Soluções, adicione um conjunto de dados compartilhado denominado EmployeeSalesDetail2008R2.

    Esses dados ajudam a responder à pergunta: Estou atingindo minhas cotas de vendas do mês inteiro e em cada categoria?

    No relatório, a matriz e os indicadores inseridos exibirão esses dados.

  2. Use a fonte de dados compartilhada AdventureWorks2008R2 e a seguinte consulta:

    SELECT PER.FirstName + ' ' + PER.LastName AS Employee,
       PS.Name AS Subcategory, SUM(DET.LineTotal) AS Sales, 
       SOH.SalesOrderID,  SOH.SalesOrderNumber, 
       P.Name AS Product, 
       SUM(DET.OrderQty) AS OrderQty, DET.UnitPrice, 
       PC.Name AS Category
    FROM Sales.SalesOrderHeader SOH 
       INNER JOIN [Sales].[SalesPerson] SP ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] PER ON PER.[BusinessEntityID] = SP.[BusinessEntityID]
       INNER JOIN Production.Product P ON DET.ProductID = P.ProductID 
       INNER JOIN Production.ProductSubcategory PS ON P.ProductSubcategoryID = PS.ProductSubcategoryID 
       INNER JOIN Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE (DATEPART(Year, SOH.OrderDate) = @ReportYear) AND 
       (DATEPART(Month, SOH.OrderDate) = @ReportMonth) AND 
        (SOH.SalesPersonID = @EmployeeID)
    GROUP BY PER.FirstName + ' ' + PER.LastName, 
       DATEPART(Month, SOH.OrderDate), SOH.SalesOrderID, SOH.SalesOrderNumber, 
       P.Name, PS.Name, DET.UnitPrice, PC.Name
    

    O conjunto de dados compartilhado é exibido no Gerenciador de Soluções.

  3. No painel Dados do Relatório, crie um conjunto de dados denominado EmployeeSalesDetail2008R2.

  4. Na caixa de diálogo Propriedades do Conjunto de dados, selecione Usar um conjunto de dados compartilhado e clique no conjunto de dados que você acabou de criar no Gerenciador de Soluções.

Criar EmpSalesMonth2008R2

Para adicionar um conjunto de dados compartilhado para vendas de mês a mês

  1. No Gerenciador de Soluções, adicione um conjunto de dados compartilhado denominado EmpSalesMonth2008R2.

    Esses dados ajudam a responder à pergunta: Como as vendas de categoria deste mês se comparam com as vendas no mesmo mês em anos anteriores?

    No relatório, o gráfico de colunas e o gráfico databar exibirão esses dados.

  2. Use a fonte de dados compartilhada AdventureWorks2008R2 e a seguinte consulta:

    SELECT PER.FirstName + ' ' + PER.LastName AS Employee, 
       DATEPART(Year, SOH.OrderDate) AS [Year], 
       DATEPART(Month, SOH.OrderDate) AS [MonthNumber], 
       DATENAME(Month, SOH.OrderDate) AS [Month], 
       PC.Name AS Category, SUM(DET.LineTotal) AS Sales
    FROM Sales.SalesOrderHeader SOH 
       INNER JOIN [Sales].[SalesPerson] SP ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] PER ON PER.[BusinessEntityID] = SP.[BusinessEntityID]
       INNER JOIN Production.Product P ON DET.ProductID = P.ProductID 
       INNER JOIN Production.ProductSubcategory PS ON P.ProductSubcategoryID = PS.ProductSubcategoryID 
       INNER JOIN Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE
       (DATEPART(Year, SOH.OrderDate) <= @ReportYear) 
       AND (DATEPART(Month, SOH.OrderDate) = @ReportMonth)  
       AND (SOH.SalesPersonID = @EmployeeID)
    GROUP BY PER.FirstName + ' ' + PER.LastName, 
       DATEPART(Year, SOH.OrderDate), DATEPART(Month, SOH.OrderDate), 
       DATENAME(Month, SOH.OrderDate), PC.Name
    

    O conjunto de dados compartilhado é exibido no Gerenciador de Soluções.

  3. No painel Dados do Relatório, crie um conjunto de dados denominado EmpSalesMonth2008R2.

  4. Na caixa de diálogo Propriedades do Conjunto de dados, selecione Usar um conjunto de dados compartilhado e clique no conjunto de dados que você acabou de criar no Gerenciador de Soluções.

Criar SalesEmployees2008R2

Para criar o conjunto de dados de uma lista de valores disponível para funcionários

  1. No Gerenciador de Soluções, adicione um conjunto de dados compartilhado denominado SalesEmployees2008R2.

    Esses dados geram valores válidos para o parâmetro @EmployeeID.

  2. Use a fonte de dados compartilhada AdventureWorks2008R2 e a seguinte consulta:

    SELECT s.[BusinessEntityID], p.[FirstName] + N' ' + p.LastName AS Employee, e.[JobTitle]
    FROM [Sales].[SalesPerson] s
       INNER JOIN [HumanResources].[Employee] e ON e.[BusinessEntityID] = s.[BusinessEntityID]
       INNER JOIN [Person].[Person] p ON p.[BusinessEntityID] = s.[BusinessEntityID]
    

    O conjunto de dados compartilhado é exibido no Gerenciador de Soluções.

  3. No painel Dados do Relatório, crie um conjunto de dados denominado SalesEmployees2008R2.

  4. Na caixa de diálogo Propriedades do Conjunto de dados, selecione Usar um conjunto de dados compartilhado e clique no conjunto de dados que você acabou de criar no Gerenciador de Soluções.

Configurar os parâmetros do relatório.

Os conjuntos de dados compartilhados contêm consultas de conjunto de dados com variáveis de consulta para ReportYear, ReportMonth e EmployeeID. Parâmetros de relatório correspondentes são criados automaticamente para cada variável de consulta. Por padrão, as propriedades de cada parâmetro de relatório são definidas para o tipo de dados de cadeia de caracteres, valor único e nenhum valor padrão ou lista de valores válida. Você deve configurar manualmente cada parâmetro conforme necessário.

Alterar a ordem dos parâmetros

Para alterar a ordem dos parâmetros na barra de ferramentas do visualizador de relatórios

  1. No painel Dados do Relatório, clique em ExibirTudo.

  2. Na barra de ferramentas do painel Dados do Relatório, clique em Mover para Baixo até que o parâmetro seja o último da lista.

  3. Clique em ReportMonth.

  4. Clique em Mover para Cima até que o parâmetro seja o primeiro da lista.

Configurar ReportMonth

Configure @ ReportMonth para aceitar apenas valores de um conjunto de valores que você especifica individualmente. O valor padrão deverá ser um desses valores ou o relatório não será executado automaticamente.

Para configurar o parâmetro de relatório @ReportMonth

  1. No painel Dados do Relatório, expanda Parâmetros.

  2. Abra Propriedades do Parâmetro para @ReportMonth.

  3. Na página Geral, altere Tipo de dados para Inteiro.

  4. Na página Valores disponíveis, selecione Especificar valores.

  5. Adicione uma entrada para cada um dos 12 meses. Defina Rótulo com o nome do mês e Valor com o valor ordinal do mês. Por exemplo, a primeira entrada é janeiro e 1. A última entrada é dezembro e 12. Preencha todos os 12 valores.

  6. Na página Valores padrão, selecione Especificar valores. Em Valores, digite 7.

Isso define o valor padrão como julho. Quando cada parâmetro do relatório tiver um valor padrão, o relatório será executado automaticamente na primeira exibição.

Configurar ReportYear

Para configurar o parâmetro de relatório @ReportYear

  1. Abra Propriedades do Parâmetro para @ReportYear.

  2. Na página Geral, altere Tipo de dados para Inteiro.

  3. Na página Valores Padrão, selecione Especificar valores.

  4. Adicione um valor. Em Valores, digite 2007.

Configurar EmployeeID

Para configurar o parâmetro de relatório @EmployeeID

  1. Abra Propriedades do Parâmetro para @EmployeeID.

  2. Na página Geral, altere Aviso para Funcionário.

  3. Altere Tipo de dados para Inteiro.

  4. Na página Valores disponíveis, selecione Obter valores de uma consulta.

  5. Em Conjunto de Dados, selecione SalesEmployees2008R2.

  6. Em Valor, selecione BusinessEntityID.

  7. Em Rótulo, selecione Employee.

  8. Na página Valores Padrão, selecione Especificar valores. Em Valores, digite 283. Esse valor é a ID de funcionário de David Campbell.

Adicionar a descrição do cenário

Para adicionar a descrição do cenário

  • Na caixa de diálogo de descrição do cenário, substitua o texto existente pelo seguinte:

    Como vendedor da AdventureWorks, quero saber como minhas vendas se comparam com as vendas sazonais dos anos anteriores.

    Os gráficos de linha e os minigráficos exibem as vendas de ano a ano de todas as categorias.

    A matriz com indicadores mostra as vendas atuais comparadas com as cotas. Altere os valores de cota na barra de ferramentas do reportviewer.

    Os gráficos de colunas e databar mostram as vendas em cada categoria.

Em lições posteriores, você vinculará de palavras no texto para as regiões de dados relacionadas.

Exibir fonte de dados, conjunto de dados e valores de parâmetros

Você pode exibir texto de comando de consulta de conjunto de dados e os valores escolhidos pelo usuário para cada parâmetro de relatório. Para reduzir desordem no relatório, coloque essas informações em caixas de texto em um contêiner de retângulo condicionalmente oculto na última página.

Para adicionar um retângulo

  1. Adicione um retângulo na parte inferior do relatório, acima do rodapé da página.

  2. Em propriedades do Retângulo, proceda da seguinte maneira:

    1. Na página Geral, selecione Adicionar uma quebra de página antes.

    2. Na página Visibilidade, selecione Mostrar ou ocultar com base em uma expressão e digite: =NOT Parameters!ShowAll.Value

Nas etapas a seguir, adicione cada caixa de texto ao retângulo conforme a concluir. Expanda o retângulo conforme necessário. Usando o retângulo como um contêiner, você pode mover todas as caixas de texto facilmente como uma unidade.

Para adicionar uma caixa de texto que exibe valores de parâmetros

  1. Ao corpo do relatório, adicione uma caixa de texto com o seguinte texto em linhas separadas:

    1. Mês do Relatório: [@ReportMonth] [@ReportMonth.Label]

    2. Ano do Relatório: [@ReportYear]

    3. EmployeeID: [@EmployeeID] [@EmployeeID.Label]

  2. Arraste a caixa de texto para o retângulo e ajuste os tamanhos conforme necessário.

Para adicionar uma caixa de texto que exiba informações da fonte de dados e do conjunto de dados

  1. Ao corpo do relatório, adicione uma caixa de texto denominada DataSourceandDatasets com o seguinte texto:

    1. Fonte de Dados AdventureWorks2008R2:

    2. Crie um Espaço Reservado denominado AdventureWorks2008R2 com o seguinte valor: =DataSources!AdventureWorks2008R2.DataSourceReference

    3. Conjunto de Dados EmployeeSalesYearOverYear2008R2:

    4. Crie um Espaço Reservado denominado EmployeeSalesYearOverYear2008R2 com o seguinte valor: =DataSets!EmployeeSalesYearOverYear2008R2.CommandText.

    5. Conjunto de Dados EmployeeSalesDetail2008R2:

    6. Crie um Espaço Reservado denominado EmployeeSalesDetail2008R2 com o seguinte valor: =DataSets! EmployeeSalesDetail2008R2.CommandText.

    7. Conjunto de Dados EmpSalesMonth2008R2.

    8. Crie um Espaço Reservado denominado EmpSalesMonth2008R2 com o seguinte valor: =DataSets! EmpSalesMonth2008R2.CommandText.

  2. Formate o texto conforme necessário. Por exemplo, sublinhe o nome do conjunto de dados.

  3. Arraste a caixa de texto para o retângulo e ajuste os tamanhos conforme necessário.

Adicionar a descrição

Para adicionar a descrição

  1. No rodapé da página, substitua o texto da caixa de texto de descrição com o seguinte texto:

    Objetivo: Relatório de resumo. Exibe as vendas ano a ano de todas as categorias, de cada categoria e das cotas. Inclui gráficos (linha, minigráfico, coluna com quebras de escala, databar), tablix (linhas de alternância, grupo de linhas, indicadores em nível de tabela e de grupo), variáveis de grupo e de relatório, contêineres de retângulo, conjuntos de dados compartilhados, fonte de dados compartilhada, código personalizado para cores de linhas do gráfico, indicadores, ação de detalhamento, parâmetros com vários valores e parâmetros para controlar a visibilidade condicional de caixas de texto e de linhas de alternância.

  2. Clique no plano de fundo do relatório para exibir Propriedades do Relatório no painel Propriedades.

  3. Em Descrição, cole o texto da descrição.

Adicionar o título do relatório

Para adicionar o título do relatório

  1. No cabeçalho da página, adicione uma caixa de texto com o seguinte texto em duas linhas:

    Sales Report for [@EmployeeID.Label]

    [@ReportMonth.Label], [@ReportYear]

  2. Formate conforme necessário.

Visualizar o Relatório

Para visualizar e verificar o relatório

  1. Visualize o relatório.

  2. Verifique se o relatório é executado automaticamente.

  3. Na barra de ferramentas do visualizador de relatórios, verifique o seguinte:

    1. Se Mês do relatório tiver uma lista suspensa com todos os meses. Por padrão, o valor é Julho.

    2. Se Ano do relatório tiver o valor padrão 2007.

    3. Funcionário tem uma lista suspensa com os nomes de todos os funcionários. Por padrão, o valor é David Campbell.

  4. No cabeçalho da página, são exibidos o logotipo, o nome e o título do relatório.

  5. Quando você clica na alternância, o texto do cenário é exibido.

  6. Quando você define ExibirTudo como True e executa o relatório, os valores de parâmetros, as informações da fonte de dados e do conjunto de dados e a descrição são exibidos na última página do relatório.

Implantar o relatório

Para implantar o relatório

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e clique em Implantar. Verifique se há erros na linha de status do BI Development Studio ou no painel Saída.

    ObservaçãoObservação

    Como o relatório depende de conjuntos de dados compartilhados, na primeira vez que implanta o relatório, você deve implantar o projeto inteiro.

  2. Em um navegador, navegue até o servidor de relatório ou até o site do SharePoint e verifique se as fontes de dados compartilhadas, os conjuntos de dados compartilhados e os relatórios aparecem nas pastas corretas e se os relatórios podem ser exibidos.

Próximas etapas

Você concluiu a criação de um projeto de relatório e de um relatório base. Você pode agora criar um relatório de exemplo. Para obter mais informações, consulte Tutoriais: Criando relatórios de exemplo do AdventureWorks 2008R2 (SSRS).