Compartilhar via


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

Adicione um parâmetro ao seu relatório para permitir que os usuários filtrem os dados a partir da fonte de dados ou no próprio relatório. Os parâmetros de relatório são criados automaticamente para cada parâmetro de consulta que você inclui 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 fazer o seguinte:

  1. Criar um relatório e conjunto de dados de matriz usando o 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 para um parâmetro de relatório

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

    2. Especifique valores disponíveis para criar um Drop-List de valores

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

    4. Pesquisar um valor de um conjunto de dados que tenha pares nome/valor

  5. Exibir o valor do parâmetro selecionado 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 navegar até um servidor de relatório, escolher uma fonte de dados e criar um conjunto de dados, consulte o primeiro tutorial desta série: Tutorial: Criando 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 requisitos, consulte 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

Crie 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 Construtor de Relatórios do Microsoft SQL Server 2014 e clique em Construtor de Relatórios.

    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 Construtor de Relatórios , 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 que seja 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 Criar 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 da Contoso representam dados de vendas internacionais para bens de consumo. Este tutorial usa dados de vendas para câmeras. As subcategorias representam câmeras digitais, câmeras de reflexo de lente única digital (SLR), filmadoras e acessórios.

    A consulta especifica nomes de coluna que incluem um identificador de loja, uma subcategoria de item de vendas e a quantidade pedida para pedidos de vendas provenientes de três lojas. Nesta consulta, o nome do repositório não faz parte do conjunto de resultados. Posteriormente neste tutorial, você procurará o nome do repositório que corresponde ao identificador do repositório de um conjunto de dados separado.

    Essa consulta não contém parâmetros de consulta. Você adicionará parâmetros de consulta mais adiante neste tutorial.

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

  12. Clique em Próximo.

2. Organizar Dados, Escolher Layout e Estilo do 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 para grupos de linhas.

  2. Arraste StoreID para grupos de colunas.

  3. Arraste Quantity até Valores.

    Você organizou os valores vendidos em linhas agrupadas por subcategoria. Haverá uma coluna para cada loja.

  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 de todas as subcategorias para 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. O conteúdo das células na primeira linha é Subcategoria, [StoreID], e Total. O conteúdo das 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 para cada subcategoria para todos os repositórios. As células na linha final exibem o total geral para cada loja.

  9. Clique na matriz, passe o mouse sobre a borda da primeira coluna, segure o identificador e arraste para expandir a largura da coluna.

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

O relatório é executado no servidor de relatório e exibe o título e a hora em que o processamento do relatório ocorreu.

Nesse cenário, os títulos de coluna exibem o identificador do repositório, mas não o nome do repositório. Posteriormente, você adicionará uma expressão para pesquisar o nome do repositório em um conjunto de dados que contém pares de nomes de repositório/identificador de repositório.

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

Quando você adiciona um parâmetro de consulta a uma consulta, o Construtor de Relatórios cria automaticamente um parâmetro de relatório de valor único com propriedades padrão para nome, prompt 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 DataSet1 e 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 consulta, 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. No 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 do repositório é um inteiro, você alterará o tipo de dados para Integer no próximo procedimento.

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

Depois que um parâmetro de relatório é criado, você pode ajustar os valores padrão para as propriedades.

Para alterar o tipo de dados padrão para 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. No Prompt, digite o 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 da ID da Loja, digite 200 e clique em Exibir Relatório.

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

Para garantir que um usuário possa digitar apenas valores válidos para um parâmetro, você pode criar uma lista suspensa de valores para escolher. Os valores podem vir de um conjunto de dados ou de uma lista que você especificar. Os valores disponíveis devem ser fornecidos de um conjunto de dados que tenha uma consulta que não contenha uma referência ao parâmetro.

Para criar um conjunto de dados para 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 Repositórios.

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

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

  6. No tipo de consulta, verifique se o 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 valores disponíveis para criar uma lista suspensa de valores

Depois de criar um conjunto de dados para fornecer valores disponíveis, você deve alterar as propriedades do relatório para especificar qual conjunto de dados e qual campo usar para preencher a lista suspensa de valores válidos na barra de ferramentas do reportviewer.

Para fornecer valores disponíveis para um parâmetro 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íveis e clique em Obter valores de uma consulta.

  3. No Dataset, na lista suspensa, clique em Lojas.

  4. No campo Valor, na lista suspensa, clique em "StoreID".

  5. No campo 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. No Prompt, digite o nome do Repositório?

    Agora, o usuário selecionará 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 Integer porque o parâmetro é baseado no identificador do repositório, não no nome do repositório.

  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 Loja de Catálogos Contoso e clique 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 valores padrão para que o relatório seja executado automaticamente

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

Para especificar um valor padrão 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 @StoreID e clique em Propriedades do Parâmetro.

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

  4. No Dataset, na lista suspensa, clique em Lojas.

  5. No campo 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 North America Online Store". Esse é o primeiro valor do conjunto de resultados para os Repositórios de conjuntos de dados. O relatório exibe a quantidade vendida de Câmeras Digitais para o identificador da 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 @StoreID e clique em Propriedades do Parâmetro.

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

  4. Em Valor, digite 200.

  5. Clique em OK.

  6. Visualize o relatório.

Para @StoreID, o visualizador de relatórios exibe o valor "Loja de Catálogos Contoso". Esse é o nome de exibição do identificador de repositório 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 de um conjunto de dados que tenha pares nome/valor

Um conjunto de dados pode conter o identificador e o campo de nome correspondente. Quando você tem apenas um identificador, pode pesquisar o nome correspondente em um conjunto de dados criado que inclui pares nome/valor.

Para pesquisar um valor de um conjunto de dados

  1. Alterne para o modo Design.

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

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

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

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

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

    A função Pesquisa usa o valor de StoreID, pesquisa-o no dataset "Stores" e retorna 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 do parâmetro selecionado no relatório

Quando um usuário tem dúvidas sobre um relatório, ele ajuda a saber quais valores de parâmetro eles escolheram. Você pode preservar os valores selecionados pelos usuários para cada parâmetro no relatório. Uma maneira é 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. Pegue a alça lateral da caixa de texto e expanda a largura.

  3. No painel Dados do Relatório, arraste o parâmetro @StoreID para 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é que o cursor de inserção apareça após a expressão existente, digite um espaço e arraste outra cópia do parâmetro do painel 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 abre. 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 quais dados usar em um relatório depois que são recuperados de uma fonte de dados externa. Para permitir que um usuário ajude a controlar os dados que deseja ver, 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 uma alça do cabeçalho de linha ou coluna na matriz e, em seguida, clique em Propriedades Tablix.

  3. Clique em Filtros e clique em Adicionar. Uma nova linha de filtro é exibida.

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

  5. No 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 exibe dados somente para o "Repositório de Catálogos da Contoso".

  9. Na barra de ferramentas do visualizador de relatórios, para o nome da Loja?, selecione Contoso Asia Online Store e 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 único para multivalorizado, você deve alterar a consulta e todas as expressões que contêm uma referência ao parâmetro, incluindo filtros. Um parâmetro multivalorizado é 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 de expressão deve acessar uma matriz de valores em vez de um valor individual.

Para alterar um parâmetro de único para multivalorizado

  1. Alterne para o modo Design.

  2. No painel Dados do Relatório, clique com o botão direito do mouse em @StoreID e 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 DataSet1 e clique em Consulta.

  6. Altere equals (=) para IN a 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 Tablix Propriedades.

  9. Clique em Filtros.

  10. No Operador, selecione In.

  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, ", ")

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

  14. Clique em OK.

  15. Clique na caixa de texto na frente da expressão que você acabou de criar e digite o seguinte: Valores de Parâmetro Selecionados:.

  16. Visualize o relatório.

  17. Clique na lista suspensa ao lado do Nome da Loja?

    Cada valor válido aparece ao lado de uma caixa de seleção.

  18. Clique em Selecionar Tudo e, em seguida, clique em Exibir Relatório.

    O relatório exibe a quantidade vendida para todas as subcategorias em todas as lojas.

  19. Na lista suspensa, clique em Selecionar Tudo para limpar a lista, clique em "Repositório de Catálogos da Contoso" e "Contoso Asia Online Store" e clique 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âmetros e clique em Adicionar Parâmetro.

  2. Em Nome, digite ShowSelections.

  3. No Prompt, digite "Mostrar seleções?".

  4. No tipo de dados, na lista suspensa, clique em Booleano.

  5. Clique em Valores Padrão.

  6. Clique em Especificar valor e clique 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é da página que exibe os valores de parâmetro 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ão e clique no botão de expressão Fx.

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

    A opção Visibilidade da caixa de texto é controlada pela propriedade Hidden. Aplique o Not operador para 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 opções de parâmetro não aparece.

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

  9. Visualize o relatório.

A caixa de texto no rodapé da página exibe todos os nomes de lojas que você selecionou.

9. Adicionar um título de relatório

Para adicionar um título de relatório

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

  2. Digite Vendas de Produtos Parametrizados 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 em que você tem permissão para salvar relatórios.

    A mensagem Conectando-se ao 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 pelo Relatório de Vendas Parametrizados.

  5. Clique em 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 de como adicionar um parâmetro ao relatório. Para saber mais sobre parâmetros, consulte 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