Tutorial: Adicionar um parâmetro ao relatório (Construtor de Relatórios)

Adicione um parâmetro ao relatório para permitir que os usuários filtrem dados do relatório na fonte de dados ou no relatório. Os parâmetros de relatório são criados automaticamente para cada parâmetro de consulta incluído em uma consulta de conjunto de dados. O tipo de dados do parâmetro determina como ele aparece na barra de ferramentas de exibição de relatório.

rs_tut_Parameter

O que você aprenderá

Neste tutorial, você aprenderá a:

  1. Criar um relatório de matriz e um conjunto de dados no Assistente de Tabela ou Matriz

  2. Organizar dados, escolher layout e estilo no Assistente de Tabela ou Matriz

  3. Adicionar um parâmetro de consulta para criar um parâmetro de relatório

  4. Alterar o tipo de dados padrão e outras propriedades de um parâmetro de relatório

    1. Adicionar um conjunto de dados para fornecer valores disponíveis e nomes para exibição

    2. Especificar os valores disponíveis para criar uma lista suspensa de valores

    3. Especificar os valores padrão para que o relatório seja executado automaticamente

    4. Pesquisar um valor em um conjunto de dados com pares de nome/valor

  5. Exibir o valor selecionado de parâmetro no relatório

  6. Usar o parâmetro de relatório em um filtro

  7. Alterar o parâmetro de relatório para aceitar vários valores

  8. Adicionar um parâmetro booliano para visibilidade condicional

  9. Adicionar um título de relatório

  10. Salvar o relatório

Observação

Neste tutorial, as etapas do assistente são consolidadas em um procedimento. Para obter instruções passo a passo sobre como procurar um servidor de relatórios, escolher uma fonte de dados e criar um conjunto de dados, confira o primeiro tutorial desta série: Tutorial: Criação de um relatório de tabela básico (Construtor de Relatórios).

Tempo estimado para concluir este tutorial: 25 minutos.

Requisitos

Para obter informações sobre os requisitos, confira Pré-requisitos para tutoriais (Construtor de Relatórios).

1. Criar um relatório de matriz e um conjunto de dados do Assistente de Tabela ou Matriz

Criar um relatório de matriz, uma fonte de dados e um conjunto de dados.

Observação

Neste tutorial, a consulta contém os valores de dados para que não precise de uma fonte de dados externa. Isso torna a consulta bastante longa. Em um ambiente empresarial, uma consulta não conteria os dados. Isso é apenas para fins de aprendizado.

Para criar um novo relatório de matriz

  1. Clique em Iniciar, aponte para Programas, aponte para Microsoft SQL Server 2014Report Builder e clique em Report Builder.

    A caixa de diálogo Guia de Introdução é exibida.

    Observação

    Se a caixa de diálogo Introdução não aparecer, no botão Report Builder, clique em Novo.

  2. No painel esquerdo, verifique se Relatório está selecionado.

  3. No painel direito, clique em Assistente de Tabela ou Matriz.

  4. Clique em Criar.

  5. Na página Escolher um conjunto de dados , clique em Criar um conjunto de dados.

  6. Clique em Próximo.

  7. Na página Escolher uma conexão com uma fonte de dados , selecione uma fonte de dados do tipo SQL Server. Selecione uma fonte de dados na lista ou navegue até o servidor de relatório para selecionar uma.

  8. Clique em Próximo.

  9. Na página Crie uma consulta , clique em Editar como Texto.

  10. Cole a seguinte consulta no painel de consulta:

    ;WITH CTE (StoreID, Subcategory, Quantity)   
    AS (  
    SELECT 200 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 2002 AS Quantity  
    UNION SELECT  200 AS StoreID, 'Camcorders' AS Subcategory, 1954 AS Quantity  
    UNION SELECT  200 AS StoreID, 'Accessories' AS Subcategory, 1895 AS Quantity  
    UNION SELECT  199 AS StoreID, 'Digital Cameras' AS Subcategory, 1849 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1579 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Camcorders' AS Subcategory, 1561 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Digital Cameras' AS Subcategory, 1553 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Accessories' AS Subcategory, 1534 AS Quantity  
    UNION SELECT 307 AS StoreID, 'Accessories' AS Subcategory, 1755 AS Quantity  
    UNION SELECT 307 AS StoreID, 'Camcorders' AS Subcategory, 1631 AS Quantity  
    UNION SELECT 307 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1772 AS Quantity)  
    SELECT StoreID, Subcategory, Quantity  
    FROM CTE  
    

    Essa consulta combina os resultados de várias instruções SELECT transact-SQL dentro de uma expressão de tabela comum para especificar valores baseados em dados simplificados do banco de dados de exemplo contoso. Os dados de vendas em Contoso representam os dados de vendas internacionais de bens de consumo. Este tutorial usa dados de vendas de câmeras. As subcategorias representam câmeras digitais, câmeras digitais SLR (reflex de lente única), filmadoras e acessórios.

    A consulta especifica nomes de coluna que incluem um identificador de repositório, uma subcategoria de item de vendas e a quantidade solicitada para ordens de venda de três repositórios. Nesta consulta, o nome do repositório não faz parte do conjunto de resultados. Posteriormente neste tutorial, você irá pesquisar o nome do repositório que corresponde ao identificador de repositório de um conjunto de dados separado.

    Esta consulta não contém parâmetros de consulta. Você adicionará parâmetros de consulta posteriormente neste tutorial.

  11. Na barra de ferramentas do designer de consultas, clique em Executar ( ! ). O conjunto de resultados exibe 11 linhas de dados que mostram a quantidade de itens vendidos para cada subcategoria de quatro repositórios e inclui as seguintes colunas: StoreID, Subcategory, Quantity.

  12. Clique em Próximo.

2. Organizar Dados, Escolher Layout e Estilo no Assistente de Tabela ou Matriz

Use o assistente para fornecer um design inicial no qual exibir dados. O painel de visualização no assistente ajuda a visualizar o resultado do agrupamento de dados antes de concluir o design da tabela ou da matriz.

Para organizar dados em grupos

  1. Na página Organizar campos , arraste Subcategoria até Grupos de linhas.

  2. Arraste StoreID até Grupos de colunas.

  3. Arraste Quantity até Valores.

    Você organizou os valores das quantidades vendidas em linhas agrupadas por subcategoria. Haverá uma coluna para cada repositório.

  4. Clique em Próximo.

  5. Na página Escolher um Layout , em Opções, verifique se Mostrar subtotais e totais gerais está selecionado.

    Quando você executar o relatório, a última coluna mostrará a quantidade total de cada subcategoria para todos os repositórios, e a última linha mostrará a quantidade total para todas as subcategorias de cada repositório.

  6. Clique em Próximo.

  7. Na página Escolher um Estilo , no painel Estilos, selecione um estilo.

  8. Clique em Concluir.

    A matriz é adicionada à superfície de design. A matriz exibe três colunas e três linhas. As células na primeira linha contêm Subcategory, [StoreID] e Total. As células na segunda linha contêm expressões que representam a subcategoria, a quantidade de itens vendidos para cada repositório e a quantidade total de cada subcategoria para todos os repositórios. As células na linha final exibem o total geral de cada repositório.

  9. Clique na matriz, passe o mouse sobre a borda da primeira coluna e arraste a alça para aumentar a largura da coluna.

  10. Clique em Executar para visualizar o relatório.

O relatório será executado no servidor de relatório e exibirá o título e a hora em que o processamento de relatório ocorreu.

Neste cenário, os títulos de coluna exibem o identificador, mas não o nome do repositório. Posteriormente, você irá adicionar uma expressão para pesquisar o nome do repositório em um conjunto de dados contendo pares de identificador/nome do repositório.

3. Adicionar um parâmetro de consulta para criar um parâmetro de relatório

Quando você adicionar um parâmetro de consulta a uma consulta, o Construtor de Relatórios criará automaticamente um parâmetro de relatório de valor único com propriedades padrão para nome, aviso e tipo de dados.

Para adicionar um parâmetro de consulta

  1. Alterne para o modo Design.

  2. No painel Dados do Relatório, expanda a pasta Conjuntos de Dados , clique com o botão direito do mouse em DataSet1e clique em Consulta.

  3. Adicione a seguinte cláusula Transact-SQL WHERE como a última linha na consulta:

    WHERE StoreID = (@StoreID)  
    

    A WHERE cláusula limita os dados recuperados ao identificador do repositório especificado pelo parâmetro de consulta @StoreID.

  4. Na barra de ferramentas do designer de consultas, clique em Executar ( ! ). A caixa de diálogo Definir Parâmetros de Consulta é aberta e solicita um valor para o parâmetro de consulta @StoreID.

  5. Em Valor do Parâmetro, digite 200.

  6. Clique em OK.

    O conjunto de resultados exibe as quantidades vendidas de Acessórios, Filmadoras e Câmeras Digitais SLR do identificador de loja 200.

  7. Clique em OK.

  8. No painel Dados do Relatório, expanda a pasta Parâmetros .

Observe que agora há um parâmetro de relatório chamado @StoreID. Por padrão, o parâmetro tem o tipo de dados Text. Como o identificador de repositório é um inteiro, você precisará alterar o tipo de dados para Inteiro no próximo procedimento.

4. Alterar o tipo de dados padrão e outras propriedades de um parâmetro de relatório

Depois de criar um parâmetro, você pode ajustar os valores padrão de propriedades.

Para alterar o tipo de dados padrão de um parâmetro de relatório

  1. No painel Dados do Relatório, no nó Parâmetros , clique com o botão direito do mouse em @StoreID e clique em Propriedades do Parâmetro.

  2. Em Prompt, digite Identificador do Repositório? Esse texto aparece na barra de ferramentas do visualizador de relatórios quando você executa o relatório.

  3. Em Tipo de dados, na lista suspensa, selecione Inteiro.

  4. Aceite os valores padrão restantes na caixa de diálogo.

  5. Clique em OK.

  6. Visualize o relatório. O visualizador de relatórios exibe o prompt de @StoreID.

  7. Na barra de ferramentas do visualizador de relatórios, ao lado de ID da Loja, digite 200e clique em Exibir Relatório.

4a. Adicionar um conjunto de dados para fornecer valores disponíveis e nomes para exibição

Para garantir que um usuário possa digitar somente valores válidos para um parâmetro, você pode criar uma lista suspensa de valores a serem escolhidos. Os valores podem vir de um conjunto de dados ou de uma lista especificada por você. Devem ser fornecidos valores disponíveis de um conjunto de dados que contenha uma consulta sem referência ao parâmetro.

Para criar um conjunto de dados com valores válidos para um parâmetro

  1. Alterne para o modo Design.

  2. No painel Dados do Relatório, clique com o botão direito do mouse na pasta Conjuntos de Dados e clique em Adicionar Conjunto de Dados.

  3. Em Nome, digite Lojas.

  4. Selecione a opção Usar um conjunto de dados inserido em meu relatório .

  5. Em Fonte de dados, na lista suspensa, escolha a fonte de dados que você criou no primeiro procedimento.

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

  7. Em Consulta, cole o seguinte texto:

    SELECT 200 AS StoreID, 'Contoso Catalog Store' as StoreName  
    UNION SELECT 199 AS StoreID, 'Contoso North America Online Store' as StoreName  
    UNION SELECT 307 AS StoreID, 'Contoso Asia Online Store' as StoreName  
    UNION SELECT 306 AS StoreID, 'Contoso Europe Online Store' as StoreName  
    
  8. Clique em OK.

    O painel Dados do Relatório exibe os campos StoreID e StoreName no nó de conjunto de dados Lojas .

4b. Especificar os valores disponíveis para criar uma lista suspensa de valores

Depois de criar um conjunto de dados para fornecer valores disponíveis, altere as propriedades do relatório para especificar o conjunto de dados e o campo a serem usados para preencher a lista suspensa de valores válidos na barra de ferramentas do visualizador de relatórios.

Para fornecer valores disponíveis para um parâmetro a partir de um conjunto de dados

  1. No painel Dados do Relatório, clique com o botão direito do mouse no parâmetro @StoreID e clique em Propriedades do Parâmetro.

  2. Clique em Valores Disponíveise em Obter valores de uma consulta.

  3. Em Conjunto de Dados, na lista suspensa, clique em Repositórios.

  4. Em Campo de valor, na lista suspensa, clique em StoreID.

  5. Em Campo de rótulo, na lista suspensa, clique em StoreName. O campo de rótulo especifica o nome para exibição do valor.

  6. Clique em Geral.

  7. Em Prompt, digite Nome do repositório?

    O usuário selecionará agora em uma lista de nomes de repositório, em vez de identificadores de repositório. Observe que o tipo de dados de parâmetro permanece Inteiro porque o parâmetro se baseia no identificador de loja, não no nome de loja.

  8. Clique em OK.

  9. Visualize o relatório.

    Na barra de ferramentas do visualizador de relatórios, a caixa de texto do parâmetro agora é uma lista suspensa que exibe <Selecionar um Valor>.

  10. Na lista suspensa, selecione Repositório de Catálogos da Contoso e clique em Exibir Relatório.

O relatório exibe a quantidade vendida de Acessórios, Filmadoras e Câmeras Digitais SLR para o identificador de repositório 200.

4c. Especificar os valores padrão para que o relatório seja executado automaticamente

Você pode especificar um valor padrão para cada parâmetro, de forma que o relatório seja executado automaticamente.

Para especificar um valor padrão a partir de um conjunto de dados

  1. Alterne para o modo Design.

  2. No painel Dados do Relatório, clique com o botão direito do mouse em @StoreIDe clique em Propriedades do Parâmetro.

  3. Clique em Valores Padrão e, em seguida, clique em Obter valores de uma consulta.

  4. Em Conjunto de Dados, na lista suspensa, clique em Repositórios.

  5. Em Campo de valor, na lista suspensa, clique em StoreID.

  6. Clique em OK.

  7. Visualize o relatório.

Para @StoreID, o visualizador de relatórios exibe o valor "Contoso América do Norte Online Store". Esse é o primeiro valor do conjunto de resultados para o conjunto de dados Stores. O relatório exibe a quantidade vendida de Câmeras Digitais do identificador de loja 199.

Para especificar um valor padrão personalizado

  1. Alterne para o modo Design.

  2. No painel Dados do Relatório, clique com o botão direito do mouse em @StoreIDe clique em Propriedades do Parâmetro.

  3. Clique em Valores Padrão e em Especificar valores e, em seguida, clique em Adicionar. Uma nova linha de valor é adicionada.

  4. Em Valor, digite 200.

  5. Clique em OK.

  6. Visualize o relatório.

Por @StoreID, o visualizador de relatórios exibe o valor "Repositório de Catálogos da Contoso". Esse é o nome de exibição do identificador de loja 200. O relatório exibe a quantidade vendida de Acessórios, Filmadoras e Câmeras Digitais SLR para o identificador de repositório 200.

4d. Pesquisar um valor em um conjunto de dados com pares de nome/valor

Um conjunto de dados pode conter o identificador e o campo de nome correspondente. Quando você só tiver um identificador, poderá pesquisar o nome correspondente em um conjunto de dados criado por você, incluindo pares de nome/valor.

Para pesquisar um valor em um conjunto de dados

  1. Alterne para o modo Design.

  2. Na superfície de design, dentro da matriz, no cabeçalho de coluna da primeira linha, clique com o botão direito do mouse em [StoreID] e clique em Expressão.

  3. No painel de expressão, exclua todo o texto exceto o equals (=) inicial.

  4. Em Categoria, expanda Funções Comunse clique em Diversos. O painel Item exibe um conjunto de funções.

  5. Em Item, clique duas vezes em Pesquisa. O painel de expressão exibe =Lookup(. O painel Exemplo exibe um exemplo de sintaxe de Pesquisa.

  6. Digite a seguinte expressão: =Lookup(Fields!StoreID.Value,Fields!StoreID.Value,Fields!StoreName.Value,"Stores")

    A função Pesquisa irá pesquisar o valor de StoreID no conjunto de dados "Repositórios" e retornar o valor StoreName.

  7. Clique em OK.

    O cabeçalho da coluna do repositório contém o texto de exibição de uma expressão complexa: <<Expr>>.

  8. Visualize o relatório.

A caixa de texto na parte superior de cada página exibe o nome do repositório, em vez do identificador do repositório.

5. Exibir o valor selecionado de parâmetro no relatório

Quando um usuário tem dúvidas sobre um relatório, é útil saber quais foram os valores de parâmetros escolhidos. Você pode preservar os valores selecionados pelos usuários para cada parâmetro no relatório. Uma forma de fazer isso é exibir os parâmetros em uma caixa de texto no rodapé da página.

  1. Alterne para o modo Design.

  2. Clique com o botão direito do mouse no rodapé da página, aponte para Inserir e clique em Caixa de Texto. Arraste a caixa de texto para junto da caixa de texto com o carimbo de data/hora. Arraste a alça lateral da caixa de texto para expandir sua largura.

  3. No painel Dados do Relatório, arraste o parâmetro @StoreID até a caixa de texto. A caixa de texto exibe [@StoreID].

  4. Para exibir o rótulo de parâmetro, clique na caixa de texto até aparecer o cursor de inserção depois da expressão existente, digite um espaço e arraste outra cópia do parâmetro do painel de dados do relatório para a caixa de texto. A caixa de texto exibe [@StoreID] [@StoreID].

  5. Clique com o botão direito do mouse na primeira expressão e clique em Expressão. A caixa de diálogo Expressão é aberta. Substitua o texto Value por Label.

  6. Clique em OK.

    O texto exibe: [@StoreID.Label] [@StoreID].

  7. Visualize o relatório.

6. Usar o parâmetro de relatório em um filtro

Os filtros ajudam a controlar os dados a serem usados em um relatório, depois de recuperados em uma fonte de dados externa. Para permitir que um usuário ajude a controlar os dados que deseja consultar, você pode incluir o parâmetro de relatório em um filtro para a matriz.

Para especificar um parâmetro em um filtro de matriz

  1. Alterne para o modo Design.

  2. Clique com o botão direito do mouse em um identificador de cabeçalho de linha ou coluna na matriz e clique em Propriedades do Tablix.

  3. Clique em Filtrose em Adicionar. Uma nova linha de filtro é exibida.

  4. Em Expressão, na lista suspensa, selecione o campo de conjunto de dados StoreID. O tipo de dados exibe Inteiro. Quando o valor da expressão for um campo de conjunto de dados, o tipo de dados será definido automaticamente.

  5. Em Operador, verifique se equals (=) está selecionado.

  6. Em Valor, digite [@StoreID]. [@StoreID] é a sintaxe de expressão simples que representa =Parameters!StoreID.Value.

  7. Clique em OK.

  8. Visualize o relatório.

    A matriz só exibe dados para o "Repositório de Catálogos Contoso".

  9. Na barra de ferramentas do visualizador de relatórios, para Nome da loja? , selecione Loja Online Contoso na Ásiae clique em Exibir Relatório.

A matriz exibe dados correspondentes ao repositório que você selecionou.

7. Alterar o parâmetro de relatório para aceitar vários valores

Para alterar um parâmetro de valor único para vários valores, você deve alterar a consulta e todas as expressões que contêm alguma referência ao parâmetro, inclusive filtros. Um parâmetro de vários valores é uma matriz de valores. Em uma consulta de conjunto de dados, a sintaxe de consulta deve testar a inclusão de um valor em um conjunto de valores. Em uma expressão de relatório, a sintaxe da expressão deve acessar uma matriz de valores, em vez de um valor individual.

Para alterar um parâmetro de valor único para vários valores

  1. Alterne para o modo Design.

  2. No painel Dados do Relatório, clique com o botão direito do mouse em @StoreIDe clique em Propriedades do Parâmetro.

  3. Selecione Permitir vários valores.

  4. Clique em OK.

  5. No painel Dados do Relatório, expanda a pasta Conjuntos de Dados , clique com o botão direito do mouse em DataSet1e clique em Consulta.

  6. Altere equals (=) para IN na cláusula Transact-SQL WHERE na última linha da consulta:

    WHERE StoreID IN (@StoreID)  
    

    O operador IN testa um valor para inclusão em um conjunto de valores.

  7. Clique em OK.

  8. Clique com o botão direito do mouse em um identificador de cabeçalho de linha ou coluna na matriz e clique em Propriedades do Tablix.

  9. Clique em Filtros.

  10. Em Operador, selecione Dentro.

  11. Clique em OK.

  12. Na caixa de texto que exibe o parâmetro no rodapé da página, exclua todo o texto.

  13. Clique com o botão direito do mouse na caixa de texto e clique em Expressão. Digite a seguinte expressão: =Join(Parameters!StoreID.Label, ", ")

    Esta expressão concatena todos os nomes de repositório selecionados pelo usuário.

  14. Clique em OK.

  15. Clique na caixa de texto em frente à expressão que você acaba de criar e digite o seguinte: Valores de Parâmetros Selecionados:.

  16. Visualize o relatório.

  17. Clique na lista suspensa junto a Nome do Repositório?

    Cada valor válido aparece junto a uma caixa de seleção.

  18. Clique em Selecionar Tudoe em Exibir Relatório.

    O relatório exibe a quantidade vendida de todas as subcategorias de todos os repositórios.

  19. Na lista suspensa, clique em Selecionar Tudo para limpar a lista, clique em “Loja de Catálogos Contoso” e em “Loja Online Contoso na Ásia” e em Exibir Relatório.

8. Adicionar um parâmetro booliano para visibilidade condicional

Para adicionar um parâmetro booliano

  1. Na superfície de design, no painel Dados do Relatório, clique com o botão direito do mouse em Parâmetrose clique em Adicionar Parâmetro.

  2. Em Nome, digite ShowSelections.

  3. Em Prompt, digite Mostrar seleções?

  4. Em Tipo de dados, na lista suspensa, clique em Boolean.

  5. Clique em Valores Padrão.

  6. Clique em Especificar valore em Adicionar.

  7. Em Valor, digite False.

  8. Clique em OK.

Para definir a visibilidade com base em um parâmetro booliano

  1. Na superfície de design, clique com o botão direito do mouse na caixa de texto no rodapé de página que exibe os valores de parâmetros e clique em Propriedades da Caixa de Texto.

  2. Clique em Visibilidade.

  3. Selecione a opção Mostrar ou ocultar com base em uma expressãoe clique no botão de expressão Fx.

  4. Digite a seguinte expressão: =Not Parameters!ShowSelections.Value

    A opção de Visibilidade de caixa de texto é controlada pela propriedade Oculta. Aplique o operador Not de forma que, quando o parâmetro for selecionado, a propriedade Oculta seja falsa e a caixa de texto seja exibida.

  5. Clique em OK.

  6. Clique em OK.

  7. Visualize o relatório.

    A caixa de texto que exibe as escolhas de parâmetro não aparece.

  8. Na barra de ferramentas do visualizador de relatórios, ao lado de Mostrar seleções, clique Trueem .

  9. Visualize o relatório.

A caixa de texto no rodapé da página exibe todos os nomes de repositório selecionados por você.

9. Adicionar um título de relatório

Para adicionar um título de relatório

  1. Na superfície de design, clique em Clique para adicionar título.

  2. Digite Vendas de Produto com Parâmetros e clique fora da caixa de texto.

10. Salvar o relatório

Para salvar o relatório em um servidor de relatório

  1. No botão Construtor de Relatórios , clique em Salvar como.

  2. Clique em Sites e Servidores Recentes.

  3. Selecione ou digite o nome do servidor de relatório no qual você tem permissão para salvar relatórios.

    A mensagem Conectando-se a um servidor de relatórioé exibida. Quando a conexão for concluída, você verá o conteúdo da pasta do relatório que o administrador do servidor de relatório especificou como o local padrão para relatórios.

  4. Em Nome, substitua o nome padrão por Relatório de Vendas com Parâmetros.

  5. Clique em Save (Salvar).

O relatório será salvo no servidor de relatório. O servidor de relatório ao qual você está conectado aparece na barra de status na parte inferior da janela.

Próximas etapas

Isso conclui o passo a passo da adição de um parâmetro ao seu relatório. Para saber mais sobre parâmetros, confira Parâmetros de relatório (Construtor de Relatórios e Designer de Relatórios).

Consulte Também

Tutoriais (Construtor de Relatórios)
Construtor de Relatórios no SQL Server 2014