Partilhar via


Parâmetros de relatórios paginados no Construtor de Relatórios

Aplica-se a: SQL Server 2016 (13.x) Serviços de Relatórios e versões posteriores SharePoint

Aplica-se a: SQL Server 2016 (13.x) Serviços de Relatórios e versões posteriores

Este artigo descreve as utilizações comuns dos parâmetros de relatórios paginados, as propriedades que pode definir e mais. Os parâmetros do relatório permitem-lhe controlar os dados do relatório, ligar relatórios relacionados entre si e variar a apresentação dos relatórios. Pode usar parâmetros de relatório em relatórios paginados que cria no Construtor de Relatórios e no Designer de Relatórios. Também pode usar parâmetros de relatório em relatórios móveis que cria no SQL Server Mobile Report Publisher. Para mais informações, consulte os conceitos de parâmetros de relatório em relatórios paginados (Construtor de Relatórios).

Observação

O SQL Server Mobile Report Publisher foi preterido para todas as versões do SQL Server Reporting Services após o SQL Server Reporting Services 2019. Ele foi descontinuado a partir do SQL Server Reporting Services 2022 e do Servidor de Relatório do Power BI.

Para mais informações sobre como adicionar um parâmetro a um relatório, consulte Tutorial: Adicionar um parâmetro ao seu relatório (Construtor de Relatórios).

Usos comuns para parâmetros

Utilizações comuns para parâmetros incluem:

Controlo dos dados de relatórios paginados e móveis

O Construtor de Relatórios e o Designer de Relatórios oferecem opções para filtrar dados com base no tipo de dados que possui:

  • Filtre dados de relatório paginados na fonte de dados gravando consultas de conjunto de dados que contenham variáveis.

  • Filtrar dados de um conjunto de dados partilhado. Quando adicionas um conjunto de dados partilhado a um relatório paginado, não podes alterar a consulta. No relatório, pode adicionar um filtro de conjunto de dados que inclui uma referência a um parâmetro de relatório que cria.

  • Filtrar dados de um conjunto de dados partilhado num relatório móvel do SQL Server. Para obter mais informações, consulte Criar relatórios móveis com o SQL Server Mobile Report Publisher.

  • Permitir que os utilizadores especifiquem valores para personalizar os dados num relatório paginado. Por exemplo, forneça dois parâmetros para a data de início e a data de término para dados de vendas.

Use parâmetros para relacionar relatórios principais com relatórios de detalhamento, subrelatórios e relatórios vinculados. Quando desenha um conjunto de relatórios, pode desenhar cada relatório para responder a certas questões. Cada relatório pode fornecer uma perspetiva diferente ou um nível distinto de detalhe para informações relacionadas. Para fornecer um conjunto de relatórios interligados, crie parâmetros para os dados relacionados nos relatórios-alvo. Para mais informações, consulte Drillthrough reports em relatórios paginados (Report Builder), Subrelatórios em relatórios paginados (Report Builder) e Criar um relatório ligado.

Personalize conjuntos de parâmetros para múltiplos utilizadores. Crie dois relatórios ligados baseados num relatório de vendas no servidor de relatórios. Um relatório ligado utiliza valores de parâmetros pré-definidos para os vendedores. O segundo relatório ligado utiliza valores de parâmetros pré-definidos para os gestores de vendas. Ambos os relatórios usam a mesma definição de relatório.

Apresentação do relatório Vary

O Construtor de Relatórios oferece ferramentas que pode usar para variar as suas apresentações:

Exibir um relatório com parâmetros

Quando visualizas um relatório que tem parâmetros, o painel de Parâmetros mostra cada parâmetro para que possas especificar valores de forma interativa. A imagem seguinte mostra o painel de Parâmetros para um relatório com parâmetros @ReportMonth, @ReportYear, @EmployeeID, @ShowAll, @ExpandTableRows, @CategoryQuota, , e @SalesDate.

Captura de ecrã que mostra o painel de Parâmetros a destacar diferentes parâmetros e ferramentas de interface.

  1. Painel de Parâmetros: O painel de Parâmetros mostra um prompt e um valor padrão para cada parâmetro. Pode personalizar a disposição dos parâmetros. Para obter mais informações, consulte Personalizar o painel de parâmetros em um relatório paginado (Construtor de Relatórios).

  2. @SalesDate parâmetro: O parâmetro @SalesDate é o tipo de dados Data/Hora. O prompt Selecione a Data aparece ao lado da caixa de texto. Para modificar a data, escreva uma nova data na caixa de texto ou use o controlo do calendário.

  3. Parâmetro @ShowAll: O parâmetro @ShowAll é do tipo de dado Booleano. Use os botões de opção para especificar True ou False.

  4. Mostrar ou Ocultar Área de Parâmetros: Na barra de ferramentas do visualizador de relatórios, selecione esta seta para mostrar ou ocultar o painel de Parâmetros .

  5. @CategoryQuota parâmetro: O parâmetro @CategoryQuota é o tipo de dados Float, por isso assume um valor numérico. @CategoryQuota está definido para permitir múltiplos valores.

  6. Ver Relatório: Depois de introduzir os valores dos parâmetros, selecione Ver Relatório para executar o relatório. Se todos os parâmetros tiverem valores predefinidos, o relatório corre automaticamente na primeira visualização.

Criar parâmetros

Pode criar parâmetros de relatório de várias formas:

Observação

Nem todas as fontes de dados suportam parâmetros.

Consulta de conjunto de dados ou procedimento armazenado com parâmetros

Adicione uma consulta de conjunto de dados que contenha variáveis ou um procedimento armazenado no conjunto de dados que contenha parâmetros de entrada. Um parâmetro de conjunto de dados é criado para cada variável ou parâmetro de entrada, e um parâmetro de relatório é criado para cada parâmetro de conjunto de dados.

Captura de ecrã que mostra o Construtor de Relatórios a destacar o painel de Dados do Relatório, o painel de Parâmetros e a caixa de diálogo Propriedades do Conjunto de Dados.

Esta imagem do Construtor de Relatórios mostra:

  1. Os parâmetros de relatório no painel Dados do Relatório .

  2. O conjunto de dados com os parâmetros.

  3. O painel Parâmetros .

  4. Os parâmetros listados na caixa de diálogo Propriedades do Conjunto de Dados.

O conjunto de dados pode ser incorporado ou partilhado. Quando adiciona um conjunto de dados partilhado a um relatório, os parâmetros do conjunto de dados marcados como internos não podem ser anulados no relatório. Podes sobrescrever parâmetros do conjunto de dados que não estejam marcados como internos.

Para mais informações, consulte Consulta de Conjunto de Dados.

Criar um parâmetro manualmente

Crie um parâmetro manualmente a partir do painel Dados do Relatório . Você pode configurar parâmetros de relatório para que um usuário possa inserir valores interativamente para ajudar a personalizar o conteúdo ou a aparência de um relatório. Também pode configurar parâmetros de relatório para que um utilizador não possa alterar valores pré-configurados.

Observação

Como os parâmetros são geridos de forma independente no servidor, republicar um relatório principal com novas definições de parâmetros não sobrescreve as definições de parâmetros existentes no relatório.

Reporte a parte com um parâmetro

Observação

As partes de relatório são preteridas para todas as versões do SQL Server Reporting Services começando com o SQL Server Reporting Services 2019 e todas as versões do Servidor de Relatório do Power BI começando com o Servidor de Relatório do Power BI de setembro de 2022.

Adicione uma parte do relatório que contenha referências a um parâmetro ou a um conjunto de dados partilhado que contenha variáveis.

As partes do relatório são armazenadas no servidor de relatórios e estão disponíveis para outros utilizarem nos seus relatórios. As partes do relatório que são parâmetros não podem ser geridas a partir do servidor de relatórios. Pode procurar parâmetros na Galeria de Partes do Relatório. Depois de os adicionar, pode configurá-los no seu relatório. Para mais informações, consulte Partes de Relatório (Report Builder e SSRS).

Observação

Os parâmetros podem ser publicados como uma parte de relatório separada para regiões de dados que tenham conjuntos de dados dependentes com parâmetros. Embora os parâmetros estejam listados como parte de relatório, não pode adicionar um parâmetro de parte de relatório diretamente a um relatório. Em vez disso, adicione a parte do relatório e quaisquer parâmetros necessários do relatório são automaticamente gerados a partir de consultas ao conjunto de dados que estão contidas ou referenciadas pela parte do relatório. Para mais informações sobre peças de reporte, consulte Peças de Relatório (Construtor de Relatórios e SSRS) e Peças de Relatório no Designer de Relatórios (SSRS).

Valores dos parâmetros

As seguintes são as opções para selecionar valores de parâmetros no relatório:

  • Selecione um único valor de parâmetro em uma lista suspensa.

  • Selecione vários valores de parâmetros em uma lista suspensa.

  • Selecione um valor em uma lista suspensa para um parâmetro, que determina os valores disponíveis na lista suspensa para outro parâmetro. Estes valores são parâmetros em cascata. Os parâmetros em cascata permitem-lhe filtrar sucessivamente valores, reduzindo-os de milhares de opções para um número gerível.

    Para mais informações, consulte Adicionar parâmetros em cascata a um relatório paginado (Construtor de Relatórios).

  • Execute o relatório sem ter de selecionar primeiro um valor de parâmetro porque já existe um valor padrão para o parâmetro.

Propriedades dos parâmetros do relatório

Você pode alterar as propriedades do parâmetro de relatório usando a caixa de diálogo Propriedades do relatório. A tabela a seguir resume as propriedades que você pode definir para cada parâmetro:

Propriedade Description
Nome Introduza um nome sensível a maiúsculas minúsculas para o parâmetro. O nome deve começar com uma letra e pode ter letras, números ou um sublinhado (_). O nome não pode ter espaços. Para parâmetros gerados automaticamente, o nome corresponde ao parâmetro na consulta do conjunto de dados. Por padrão, os parâmetros criados manualmente são semelhantes a ReportParameter1.
Pronta O texto que aparece ao lado do parâmetro na barra de ferramentas do visualizador de relatórios.
Tipo de dados Um parâmetro de relatório deve ser um dos seguintes tipos de dados:

Booleano. O usuário seleciona True ou False em um botão de opção.

DateTime. O utilizador seleciona uma data a partir de um controlo de calendário.

Inteiro. O utilizador insere valores numa caixa de texto.

Flutuar. O utilizador insere valores numa caixa de texto.

Texto. O utilizador insere valores numa caixa de texto.

Quando os valores disponíveis são definidos para um parâmetro, o usuário escolhe valores em uma lista suspensa, mesmo quando o tipo de dados é DateTime.

Para mais informações sobre tipos de dados de relatório, consulte Tipos de dados RDL.
Permitir valor em branco Selecione esta opção se o valor do parâmetro puder ser uma cadeia vazia ou em branco.

Se especificar valores válidos para um parâmetro e quiser que um deles fique em branco, deve incluí-lo como um dos valores especificados. A seleção desta opção não inclui automaticamente um espaço em branco para os valores disponíveis.
Permitir valor nulo Selecione esta opção se o valor do parâmetro puder ser nulo.

Se especificar valores válidos para um parâmetro e quiser que um deles seja nulo, deve incluir null como um dos valores especificados. A seleção desta opção não inclui automaticamente um nulo para os valores disponíveis.
Permitir vários valores Forneça valores disponíveis para criar uma lista suspensa que seus usuários possam escolher. Use esta propriedade para garantir que apenas valores válidos são submetidos na consulta do conjunto de dados.

Selecione essa opção se o valor do parâmetro puder ser vários valores exibidos em uma lista suspensa. Valores nulos não são permitidos. Quando essa opção é selecionada, as caixas de seleção são adicionadas à lista de valores disponíveis em uma lista suspensa de parâmetros. A parte superior da lista inclui uma caixa de seleção para Selecionar Tudo. Os usuários podem verificar os valores que desejam.

Se os dados que fornecem valores mudarem rapidamente, a lista que o usuário vê pode não ser a mais atual.
Visível Selecione esta opção para mostrar o parâmetro do relatório no topo do relatório quando este for executado. Esta opção permite que os usuários selecionem valores de parâmetros em tempo de execução.
Escondido Selecione esta opção para ocultar o parâmetro de relatório no relatório publicado. Os valores dos parâmetros de relatório ainda podem ser definidos em uma URL de relatório, em uma definição de assinatura ou no servidor de relatório.
Interno Selecione esta opção para ocultar o parâmetro de relatório. No relatório publicado, o parâmetro report só pode ser visualizado na definição de relatório.
Valores disponíveis Se especificar valores disponíveis para um parâmetro, os valores válidos aparecem sempre como uma lista suspensa. Por exemplo, se fornecer valores disponíveis para um parâmetro DateTime, uma lista suspensa de datas aparece no painel de parâmetros, em vez de um controlo de calendário.

Pode definir uma opção na fonte de dados para usar uma única transação para todas as consultas nos conjuntos de dados associadas a uma fonte de dados. Esta opção garante que a lista de valores é consistente entre o relatório e os sub-relatórios.

Nota de Segurança Em qualquer relatório que inclua um parâmetro do tipo de dados Texto, certifique-se de usar uma lista de valores disponíveis (também conhecida como lista de valores válida) e assegure que qualquer utilizador que execute o relatório tem apenas as permissões necessárias para visualizar os dados no relatório. Para mais informações, consulte Segurança (Construtor de Relatórios).
Valores padrão Defina valores padrão de uma consulta ou de uma lista estática.

Quando cada parâmetro tem um valor padrão, o relatório é executado automaticamente na primeira visualização.
Avançado Defina o atributo de definição de relatório UsedInQuery, um valor que indica se esse parâmetro afeta direta ou indiretamente os dados em um relatório.

Determinar automaticamente quando atualizar
Escolha essa opção quando desejar que o processador de relatório determine uma configuração para esse valor. O valor será True se o processador de relatório detetar uma consulta de conjunto de dados com uma referência direta ou indireta a esse parâmetro ou se o relatório tiver sub-relatórios.

Atualizar sempre
Escolha esta opção quando o parâmetro report for usado direta ou indiretamente em uma consulta de conjunto de dados ou expressão de parâmetro. Esta opção define UsedInQuery como True.

Nunca atualizar
Escolha esta opção quando o parâmetro de relatório não for usado direta ou indiretamente em uma consulta de conjunto de dados ou expressão de parâmetro. Esta opção define UsedInQuery como False.

Cautela Use "Nunca Atualizar" com cautela. No servidor de relatório, UsedInQuery é usado para ajudar a controlar as opções de cache para dados de relatório e para relatórios renderizados, e opções de parâmetro para relatórios de instantâneo. Se você definir Nunca atualizar incorretamente, poderá fazer com que dados de relatório ou relatórios incorretos sejam armazenados em cache ou fazer com que um relatório de instantâneo tenha dados inconsistentes. Para mais informações, consulte Linguagem de Definição de Relatórios (SSRS).

Consulta de conjunto de dados

Para filtrar dados na consulta do conjunto de dados, inclua uma cláusula de restrição que limite os dados recuperados, especificando valores a incluir ou excluir do conjunto de resultados.

Use o designer de consulta para a fonte de dados para ajudar a criar uma consulta parametrizada.

  • Para consultas Transact-SQL, diferentes fontes de dados oferecem suporte a sintaxe diferente para parâmetros. O suporte varia a partir de parâmetros identificados na consulta por posição ou por nome. Para mais informações, consulte artigos sobre tipos específicos de fontes externas de dados nos Conjuntos de Dados de Relatórios (SSRS). No designer de consulta relacional, você deve selecionar a opção de parâmetro para um filtro para criar uma consulta parametrizada. Para mais informações, consulte Interface de utilizador do designer de consultas relacionais (Construtor de Relatórios).

  • Podes especificar se deves criar um parâmetro com base num filtro que especificas no query designer. Pode criar esta especificação para consultas baseadas numa fonte de dados multidimensional, como Microsoft SQL Server Analysis Services, SAP NetWeaver BI ou Hyperion Essbase. Para obter mais informações, consulte o artigo sobre o criador de consultas em Ferramentas de Design de Consultas (SSRS) correspondente à extensão de dados.

Gerenciamento de parâmetros para um relatório publicado

Quando você cria um relatório, os parâmetros de relatório são salvos na definição de relatório. Quando você publica um relatório, os parâmetros de relatório são salvos e gerenciados separadamente da definição de relatório.

Para um relatório publicado, pode utilizar as seguintes ferramentas:

  • Propriedades dos parâmetros de relatório: Alterar os valores dos parâmetros de relatório diretamente no servidor de relatórios, independentemente da definição do relatório.

  • Relatórios em cache: Para criar um plano de cache para um relatório, cada parâmetro deve ter um valor predefinido. Para mais informações, consulte Relatórios de Cache (SSRS).

  • Conjuntos de dados partilhados em cache: Para criar um plano de cache para um conjunto de dados partilhado, cada parâmetro deve ter um valor predefinido. Para mais informações, consulte Relatórios de Cache (SSRS).

  • Relatórios ligados: Pode criar relatórios ligados com valores de parâmetros pré-definidos para filtrar dados para diferentes audiências. Para mais informações, consulte Criar um relatório relacionado.

  • Subscrições de relatório: Pode especificar valores de parâmetros para filtrar dados e entregar relatórios através das subscrições. Para mais informações, consulte Subscrições e entrega (Serviços de Relatório).

  • Acesso URL: Pode especificar valores de parâmetros num URL de um relatório. Também pode executar relatórios e especificar valores de parâmetros usando o acesso a URL. Para mais informações, consulte acesso URL (SSRS).

As propriedades de parâmetro de um relatório publicado serão preservadas se você publicar novamente a definição de relatório. Se a definição de relatório for publicada novamente como o mesmo relatório e os nomes de parâmetros e os tipos de dados permanecerem os mesmos, as configurações de propriedade serão mantidas. Pode ser necessário alterar as propriedades dos parâmetros no relatório publicado se adicionar ou eliminar parâmetros na definição do relatório. Ou pode ser necessário alterar as propriedades para alterar o tipo de dados ou o nome de um parâmetro existente.

Nem todos os parâmetros podem ser modificados em todos os casos. Se um parâmetro de relatório receber um valor predefinido de uma consulta de conjunto de dados, esse valor não pode ser modificado para um relatório publicado. Também não pode ser modificado no servidor de relatórios. O valor utilizado em tempo de execução é determinado quando a consulta é executada. Se usares parâmetros baseados em expressões, isso é determinado quando a expressão é avaliada.

As opções de execução de relatórios podem afetar a forma como os parâmetros são processados. Um relatório que executa como snapshot não pode usar parâmetros derivados de uma consulta, a menos que a consulta inclua valores predefinidos para esses parâmetros.

Parâmetros para uma subscrição

Pode definir uma subscrição para um relatório on-demand ou para um snapshot e especificar valores de parâmetros a usar durante o processamento da subscrição.

  • Relatório on-demand: Para um relatório on-demand, pode especificar um valor de parâmetro diferente do valor publicado para cada parâmetro listado no relatório. Por exemplo, suponha que você tenha um relatório de Serviço de Chamada que usa um parâmetro Período de Tempo para retornar solicitações de atendimento ao cliente para o dia, semana ou mês atual. Se o valor do parâmetro padrão para o relatório estiver definido como hoje, sua assinatura poderá usar um valor de parâmetro diferente (como semana ou mês) para produzir um relatório que contenha números semanais ou mensais.

  • Snapshot: Para um snapshot, a sua subscrição deve usar os valores dos parâmetros definidos para este. A sua subscrição não pode substituir um valor de parâmetro definido para um snapshot. Por exemplo, suponha que está a subscrever um relatório regional de vendas Ocidental que é executado como um instantâneo de relatório, e o instantâneo especifica Ocidental como valor de parâmetro regional. Neste caso, se criar uma subscrição a este relatório, deve usar o valor do parâmetro Western na sua subscrição. Para fornecer uma indicação visual de que o parâmetro é ignorado, os campos de parâmetros na página de subscrição são definidos como campos de apenas leitura.

  • As opções de execução de relatórios podem afetar a forma como os parâmetros são processados. Relatórios parametrizados que são executados como snapshots de relatório utilizam os valores de parâmetros definidos para o snapshot de relatório. Os valores dos parâmetros estão definidos na página de Propriedades dos Parâmetros do relatório. Um relatório que executa como snapshot não pode usar parâmetros derivados de uma consulta, a menos que a consulta inclua valores predefinidos para esses parâmetros.

  • Se o valor de um parâmetro mudar no snapshot do relatório após a subscrição ser definida, o servidor de relatório desativa a subscrição. Desativar a subscrição indica que o relatório foi modificado. Para ativar a subscrição, abra e depois guarde a subscrição.

Observação

As subscrições orientadas por dados podem usar valores de parâmetros obtidos a partir de uma fonte de dados do assinante. Para mais informações, consulte Usar uma fonte de dados externa para dados de assinantes (subscrição orientada por dados).

Para mais informações, consulte Subscrições e entrega (Serviços de Relatório).

Parâmetros e segurança dos dados

Tenha cautela ao distribuir relatórios parametrizados que contenham informações confidenciais ou sensíveis. Um utilizador pode facilmente substituir um parâmetro de relatório por um valor diferente, resultando numa divulgação de informação que não pretendia.

Uma alternativa segura à definição de parâmetros para dados de colaboradores ou pessoais é selecionar dados com base em expressões que incluam o campo UserID dos Campos Incorporados. O UserID fornece uma forma de obter a identidade do utilizador que executa o relatório e usar essa identidade para recuperar dados específicos do utilizador.

Importante

Em qualquer relatório que inclua um parâmetro do tipo String, utilize uma lista de valores disponíveis (também conhecida como lista de valores válida) e assegure que qualquer utilizador que execute o relatório tem apenas as permissões necessárias para visualizar os dados no relatório. Quando você define um parâmetro do tipo String, o usuário é apresentado com uma caixa de texto que pode ter qualquer valor. Uma lista de valores disponíveis limita os valores que podem ser introduzidos. Se o parâmetro de relatório estiver ligado a um parâmetro de conjunto de dados e não usares uma lista de valores disponíveis, é possível que um utilizador de relatório insira sintaxe SQL na caixa de texto, potencialmente abrindo o relatório e o teu servidor a um ataque de injeção SQL. Se o utilizador tiver permissões suficientes para executar a nova instrução SQL, pode produzir resultados indesejados no servidor.

Se um parâmetro de relatório não estiver ligado a um parâmetro de conjunto de dados e os valores dos parâmetros estiverem incluídos no relatório, é possível que um utilizador de relatório insira sintaxe de expressão ou uma URL no valor do parâmetro e renderize o relatório para Excel ou HTML. Se outro utilizador visualizar o relatório e selecionar o conteúdo dos parâmetros renderizados, o utilizador pode, inadvertidamente, executar o script ou link malicioso.

Para reduzir o risco de executar scripts mal-intencionados inadvertidamente, abra relatórios renderizados somente de fontes confiáveis. Para obter mais informações sobre como proteger relatórios, consulte Proteger relatórios e recursos.