Lição 4: Adicionando parâmetros em cascata (Construtor de Relatórios 2.0)
Os parâmetros em cascata oferecem um modo de gerenciar grandes quantidades de dados de relatório. Com os parâmetros em cascata, a lista de valores para um parâmetro depende do valor escolhido no parâmetro precedente.
Nesta lição, você criará um novo relatório com uma consulta principal de conjunto de dados que define parâmetros de consulta para subcategoria e produto da categoria de vestuário. Você definirá dois conjuntos de dados adicionais para fornecer valores disponíveis para cada parâmetro em cascata.
Para criar um novo arquivo de definição de relatório e salvá-lo no servidor de relatório
Clique em Iniciar, aponte para Programas, para Construtor de Relatórios do Microsoft SQL Server 2008 e clique em Construtor de Relatórios 2.0.
Na superfície de design, clique em Clique aqui para adicionar título e digite Parâmetros em Cascata.
No botão Construtor de Relatórios, clique em Salvar como.
Clique em Sites e Servidores Recentes.
Clique no nome do servidor de relatório no qual você tem permissão para salvar relatórios.
Em Nome, digite Parâmetros em cascata.
Clique em Salvar.
Você salvou o relatório no servidor de relatório.
Para adicionar uma referência a fonte de dados
Na barra de ferramentas do painel Dados do Relatório, clique em Nova e, em seguida, clique em Fonte de Dados.
Selecione Usar uma conexão compartilhada ou modelo de relatório.
Navegue ou escolha a fonte de dados para o banco de dados de exemplo do AdventureWorks2008 que você criou em Tutorial: Criando um relatório de tabela básico (Construtor de Relatórios 2.0).
Clique em OK.
Você adicionou uma referência à fonte de dados para o banco de dados do AdventureWorks2008.
Para criar o conjunto de dados principal com uma consulta e parâmetros de consulta
Na barra de ferramentas do painel Dados do Relatório, clique em Novo e, em seguida, em Conjunto de Dados.
Em Nome, digite SalesbyCategory.
No painel de consulta, clique em Designer de Consulta.
Clique em Editar como Texto.
No painel de consulta, cole a seguinte consulta :
SELECT SH.OrderDate ,DATENAME(weekday, SH.OrderDate) as Weekday ,SH.SalesOrderNumber ,SD.OrderQty ,SD.LineTotal ,P.Name AS [Product] ,PS.Name AS [Subcategory] FROM Sales.SalesPerson SP INNER JOIN Sales.SalesOrderHeader AS SH ON SP.BusinessEntityID = SH.SalesPersonID INNER JOIN Sales.SalesOrderDetail AS SD ON SH.SalesOrderID = SD.SalesOrderID INNER JOIN Production.Product AS P ON SD.ProductID = P.ProductID INNER JOIN Production.ProductSubcategory AS PS ON PS.ProductSubcategoryID = P.ProductSubcategoryID INNER JOIN Production.ProductCategory AS PC ON PC.ProductCategoryID = PS.ProductCategoryID WHERE PC.Name = 'Clothing' AND (SH.OrderDate BETWEEN (@StartDate) AND (@EndDate)) AND PS.Name = (@Subcategory) AND P.Name IN (@Product)
Parâmetros de consulta para @StartDate, @EndDate, @Subcategory, e @Product foram adicionados para criar a consulta principal para um conjunto de valores em cascata.
Clique em Executar (!) para ver o conjunto de resultados. A caixa de diálogo Definir Parâmetros de Consulta é exibida.
Na coluna Valor do Parâmetro, digite um valor para cada parâmetro de consulta usando a tabela abaixo.
Nome do Parâmetro
Valor do Parâmetro
@StartDate
20010101
@EndDate
20030101
@Subcategory
Luvas
@Product
Luvas de dedo inteiro, M
Clique em OK.
O conjunto de resultados contém uma lista de números de pedidos de venda para o tipo especificado de luva.
Ao executar a consulta, cada parâmetro de consulta gera um parâmetro de relatório correspondente. Clique em OK duas vezes para encerrar o designer de consulta e a caixa de diálogo.
(Opcional) No painel Dados do Relatório, expanda o nó Parâmetros e verifique se os seguintes parâmetros de relatório aparecem: StartDate, EndDate, Subcategory e Product.
(Opcional) O valor de cada parâmetro de consulta de conjunto de dados é associado a um parâmetro de relatório de mesmo nome. Para verificar isso, no painel Dados do Relatório, clique com o botão direito do mouse em SalesbyCategory e clique em Propriedades do Conjunto de Dados.
Clique em Parâmetros.
No coluna Nome do Parâmetro, verifique se os nomes são @StartDate, @EndDate, @Subcategory, e @Product.
No coluna Valor do Parâmetro, verifique se os valores são [@StartDate], [@EndDate], [@Subcategory] e [@Product].
Essas expressões simples fazem referência aos parâmetros de relatório exibidos no painel Dados do Relatório.
Em seguida, você criará um conjunto de dados para fornecer valores para @Subcategory e @Product. Cada novo conjunto de dados irá popular os valores disponíveis e os valores padrão para o parâmetro .
Para definir tipos de dados de parâmetro de data e valores padrão
No painel Dados do Relatório, clique com o botão direito do mouse em StartDate e clique em Propriedades do Parâmetro.
Em Tipo de dados, selecione Date/Time.
Clique em Valores Padrão.
Selecione a opção Especificar valores.
Clique em Adicionar.
Em Valor, digite 2001-01-01.
Clique em OK.
No painel Dados do Relatório, clique com o botão direito do mouse em EndDate e clique em Propriedades do Parâmetro.
Em Tipo de dados, selecione Date/Time.
Clique em Valores Padrão.
Selecione a opção Especificar valores.
Clique em Adicionar.
Em Valor, digite 2003-01-01.
Clique em OK.
Os tipos de dados de parâmetro de data e valores padrão são definidos.
Para adicionar o conjunto de dados dos valores para o parâmetro de relatório Subcategoria
Na barra de ferramentas do painel Dados do Relatório, clique em Novo e, em seguida, em Conjunto de Dados.
Em Nome, digite SubcategoryValues.
Clique em Designer de Consulta e em Editar como Texto.
Cole o seguinte texto de consulta no painel Consulta:
SELECT DISTINCT PSC.Name AS Subcategory FROM Production.ProductSubcategory AS PSC INNER JOIN Production.ProductCategory AS PC ON PC.ProductCategoryID = PSC.ProductCategoryID WHERE PC.Name = 'Clothing'
Clique em OK duas vezes para encerrar o designer de consulta e a caixa de diálogo.
O conjunto de dados Valores da subcategoria é exibido no painel Dados do Relatório. O campo Subcategoria tem 8 linhas que listam as subcategorias da categoria vestuário.
Agora, defina as propriedades do parâmetro de relatório @Subcategory para usar valores dessa consulta para obter os valores disponíveis e os valores padrão.
Para definir os valores disponíveis e valores padrão para um parâmetro Subcategoria
No painel Dados do Relatório, na pasta Parâmetros, clique com o botão direito do mouse em Subcategory e em Propriedades do Parâmetro.
Clique em Valores Disponíveis.
Clique em Obter valores de uma consulta.
Em Conjunto de Dados, na lista suspensa, clique em SubcategoryValues.
No campo Valor, clique em Subcategoria.
No campo Rótulo, clique em Subcategoria.
Clique em Valores Padrão.
Clique em Especificar valores.
Clique em Adicionar.
Em Valor, digite Luvas.
Clique em OK.
Em seguida, crie um parâmetro @Product que depende do valor de @Subcategory.
Para adicionar o conjunto de dados dos valores para o parâmetro de relatório Produto
Na barra de ferramentas do painel Dados do Relatório, clique em Novo e, em seguida, em Conjunto de Dados.
Em Nome, digite ProductValues.
Clique em Designer de Consulta e em Editar como Texto.
Cole o seguinte texto de consulta no painel Consulta:
SELECT DISTINCT P.Name AS Product FROM Production.Product P INNER JOIN Production.ProductSubcategory AS PSC ON P.ProductSubcategoryID = PSC.ProductSubcategoryID INNER JOIN Production.ProductCategory AS PC ON PC.ProductCategoryID = PSC.ProductCategoryID WHERE (PC.Name = 'Clothing' AND PSC.Name = (@Subcategory))
Clique em OK duas vezes para encerrar o designer de consulta e a caixa de diálogo.
Um conjunto de dados chamado ProductValues com um campo Product é adicionado ao painel Dados do Relatório.
Agora, defina as propriedades para o parâmetro @Product a fim de usar valores dessa consulta para obter seus valores disponíveis e seus valores padrão.
Para definir os valores disponíveis e valores padrão para um parâmetro Produto
No painel Dados do Relatório, na pasta Parâmetros, clique com o botão direito do mouse em Product e em Propriedades do Parâmetro.
Selecione Permitir vários valores.
Clique em Valores Disponíveis.
Clique em Obter valores de uma consulta.
Em Conjunto de Dados, na lista suspensa, clique em ProductValues.
No campo Valor, clique em Produto.
No campo de Rótulo, clique em Produto.
Clique em Valores Padrão.
Clique em Obter valores de uma consulta.
Em Conjunto de Dados, na lista suspensa, clique em ProductValues.
No campo Valor, clique em Produto.
Clique em OK.
Clique em Executar para visualizar o relatório.
Na lista suspensa Subcategory, selecione Camisas.
Observe que a lista suspensa Product mostra apenas produtos que são Camisas.
Na barra de ferramentas do visualizador de relatórios, clique em Exibir Relatório.
A tabela e o gráfico do relatório exibem as ordens de venda que contêm os produtos selecionados e que são limitadas pelos parâmetros de relatório data da ordem de venda e dias da semana.
Próximas etapas
Você criou com êxito um novo relatório que exibe ordens de venda de produtos específicos usando parâmetros em cascata, com filtro por subcategoria. Na próxima lição, você aprenderá a passar um parâmetro para um relatório de detalhamento. Consulte Lição 5: Adicionando parâmetros a serem passados para um relatório de detalhamento (Construtor de Relatórios 2.0).