Lição 5: Adicionando parâmetros a serem passados para um relatório de detalhamento (SSRS)
Relatórios de detalhamento são um tipo de relatório acessado clicando-se em um link no relatório atual. Ao clicar em uma caixa de texto com uma ação de detalhamento, você abre o relatório de detalhamento. Caso o relatório de detalhamento tenha parâmetros, você deve passar valores para cada parâmetro do relatório.
Nesta lição, você criará um novo relatório para exibir dados detalhados de uma ordem de venda especificada com um parâmetro. Você abrirá um relatório existente e criará uma ação de detalhamento para o número da ordem de venda. Quando você executa esse relatório e clica no número da ordem de venda, o novo relatório é aberto e exibe os detalhes da ordem.
Para adicionar um novo relatório a um projeto de servidor de relatório aberto
No Gerenciador de Soluções, clique com o botão direito do mouse em Relatórios, aponte para Adicionar e clique em Novo Item.
Na caixa de diálogo Adicionar Novo Item, em Modelos, clique em Relatório.
Em Nome, digite Detalhe da Ordem de Vendas.rdl e clique em Adicionar.
O Designer de Relatórios é aberto e exibe a nova definição de relatório na exibição Design.
Para criar uma referência a uma fonte de dados compartilhada
No painel Dados do Relatório, clique em Nova e em Fonte de Dados.
Observação Se o painel Dados do Relatório não estiver visível, no menu Exibir, clique em Dados do Relatório.
Em Nome, digite AdventureWorks_Ref.
Selecione Usar referência da fonte de dados compartilhada.
Na lista suspensa, selecione AdventureWorks.
Clique em OK.
Para criar um novo conjunto de dados
No painel Dados do Relatório, clique com o botão direito do mouse na fonte de dados AdventureWorks_Ref e clique em Adicionar Conjunto de Dados.
Em Nome, digite SalesDetails.
Cole a seguinte consulta na caixa de texto Consulta:
SELECT P.Name AS Product, SD.OrderQty AS Quantity, SD.LineTotal FROM Sales.SalesOrderDetail AS SD INNER JOIN Production.Product AS P ON SD.ProductID = P.ProductID INNER JOIN Sales.SalesOrderHeader AS SOH ON SD.SalesOrderID = SOH.SalesOrderID WHERE (SOH.SalesOrderNumber = (@SalesOrder) ) ORDER BY SD.SalesOrderDetailID
Observe que, para criar a coleção de campos do conjunto de dados, você não precisa executar a consulta no Designer de Consulta com um valor de parâmetro de consulta.
(Opcional) Abra o Designer de Consulta e clique em Executar (!) na barra de ferramentas. Forneça o seguinte valor para @SalesOrder: SO43659. O painel de resultados mostra 12 produtos. Clique em OK.
Clique em OK.
No painel Dados do Relatório, expanda Parâmetros e verifique se o parâmetro SalesOrder é exibido.
Para adicionar uma tabela com campos de conjunto de dados
Na Caixa de Ferramentas, arraste uma tabela para a superfície de design.
No painel Dados do Relatório, arraste os seguintes campos para células de tabela na linha Dados: Product, Quantity e LineTotal.
Visualize o relatório.
Antes do relatório ser executado, você deve digitar um número de ordem de venda válido.
Na barra de ferramentas do visualizador de relatório, em Ordem de Venda, digite SO43659 e clique em Exibir Relatório.
O relatório exibe totais de linha para a ordem de venda especificada.
Para formatar a tabela:
Alterne para o modo Design.
Clique com o botão direito do mouse na célula que contém [LineTotal] e clique em Propriedades da Caixa de Texto.
Clique em Número.
Em Categoria, clique em Moeda.
Clique em OK.
Na tabela, clique no identificador da primeira linha que contém os cabeçalhos da coluna. Todas as células da linha são selecionadas.
No menu Formatar, aponte para Fonte e clique em Negrito.
Quando você exibe o relatório, o valor de LineTotal é mostrado como uma moeda e os cabeçalhos da coluna, em fonte em negrito.
Em seguida, adicione a ação de detalhamento no relatório principal para especificar o relatório.
Para adicionar uma ação de detalhamento ao relatório
No Gerenciador de Soluções, clique duas vezes em Ordens de Venda.rdl. O relatório é aberto na exibição Design.
Na coluna Ordem, clique com o botão direito do mouse na caixa de texto que contém [Order] e clique em Propriedades da Caixa de Texto.
Clique em Ação.
Em Habilitar como um hiperlink, selecione Ir para o relatório.
Outra seção é exibida na caixa de diálogo.
Em Selecione um relatório na lista, na lista suspensa, selecione Detalhe da Ordem de Vendas.
Em Usar estes parâmetros para executar o relatório, clique em Adicionar.
Uma nova linha é adicionada à grade.
Em Nome, na lista suspensa que mostra a lista de parâmetros definida para o relatório, selecione SalesOrder.
Em Valor, na lista suspensa, selecione [Order].
Isso vincula o valor do relatório principal ao parâmetro que o relatório de destino está esperando.
Em seguida, altere o estilo de texto e a cor do link de detalhamento.
Clique em Fonte.
Em Efeitos, na lista suspensa, selecione Sublinhar.
Próximo a Cor, clique em (fx) para abrir a caixa de diálogo Expressão.
Substitua o texto padrão Preto por uma cor diferente; por exemplo, Azul.
Observação Para consultar os valores válidos para a cor de fonte, no painel Valores, clique em Mais cores. A caixa de diálogo Selecionar Cor é aberta. É possível procurar cores válidas nessa caixa de diálogo e selecionar aquela que você deseja usar. Clique em OK.
Clique duas vezes em OK.
A caixa de texto adicionada agora apresenta texto sublinhado na cor escolhida. Esses indicadores visuais ajudam leitores de relatório a compreender a existência de um link ativo com outro relatório.
Para visualizar o relatório
Clique em Visualizar. O relatório Ordens de Venda exibe ordens de venda agrupadas por data. A coluna Ordem exibe números de ordem de venda que são links de detalhamento.
Clique em um número da ordem de venda com um link de detalhamento.
O relatório especificado pelo link de detalhamento é executado e exibe os detalhes da ordem em relação ao número da ordem de venda em que você clicou.
Observação Para retornar ao relatório principal, use a seta de retornar na barra de ferramentas do visualizador de relatórios.
Próximas etapas
Você completou com êxito o tutorial Adicionando parâmetros a um relatório. Para compreender mais técnicas de relatório, consulte Tutoriais (SSRS).