Definindo propriedades de parâmetro para um relatório publicado

Um relatório parametrizado é um relatório que aceita valores de entrada usados no processamento de relatórios. Os parâmetros são definidos no Designer de Relatórios quando o relatório é criado. Para obter mais informações sobre como definir parâmetros, consulte Parâmetros (Report Builder 3.0 e SSRS).

Depois que um relatório é publicado, você pode modificar as propriedades de parâmetro usando o Gerenciador de Relatórios para fazer o seguinte:

  • Executar um relatório com valores de parâmetro predefinidos nunca vistos pelo usuário.

  • Executar um relatório usando um valor de parâmetro padrão ou um valor válido selecionado pelo usuário.

  • Executar um relatório sem nenhum valor de parâmetro especificado. Você pode especificar um valor nulo para retornar um conjunto de resultados não filtrado.

  • Executar um relatório personalizado que obtém informações específicas do usuário com base em um valor fornecido pelo usuário (por exemplo, um número de identificação pessoal para obter um saldo em uma conta ou folha de pagamento).

As propriedades de parâmetro definidas no Gerenciador de Relatórios para um relatório publicado em geral são preservadas se você publicar novamente a definição de relatório a partir do Designer de Relatórios. Se a definição do relatório for publicada novamente como o mesmo relatório, e os nomes e tipos de dados dos parâmetros continuarem os mesmos, as configurações de propriedades serão retidas. Se você adicionar ou excluir parâmetros da definição do relatório, ou alterar o tipo de dados ou o nome de um parâmetro existente, poderá ser necessário alterar as propriedades dos parâmetros no relatório publicado.

Nem todos os parâmetros podem ser modificados em todos os casos. Se um parâmetro de relatório obtiver um valor padrão de uma consulta, não será possível modificar esse valor no Gerenciador de Relatórios. Os valores de parâmetro padrão designados como “Baseado em consulta” são configurados na definição de relatório e não podem ser modificados no Gerenciador de Relatórios. Um valor de parâmetro baseado em consulta não é um valor constante. O valor usado em tempo de execução é determinado quando a consulta é executada ou, no caso de parâmetros baseados em expressão, quando a expressão é avaliada.

As opções de execução de relatório podem afetar o tipo de processamento dos parâmetros. Um relatório executado como um instantâneo não pode usar parâmetros derivados de uma consulta a menos que a consulta inclua valores padrão para os parâmetros. Para obter mais informações sobre parâmetros de consulta, consulte Como associar um parâmetro de consulta a um parâmetro de relatório (Construtor de Relatórios 3.0 e SSRS).

Questões de segurança para relatórios parametrizados

Tenha cuidado ao distribuir relatórios parametrizados que contêm informações confidenciais. Um usuário pode substituir facilmente um parâmetro de relatório por um valor diferente, resultando na divulgação indevida de informações.

Uma alternativa segura para usar parâmetros para dados de funcionários ou pessoais é selecionar os dados com base nas expressões que incluem o campo UserID da coleção Usuários. A coleção Usuários fornece um meio de obter a identidade do usuário que executa o relatório e de usar essa identidade para recuperar dados específicos do usuário. Para obter mais informações, consulte Usando referências globais internas e referências de usuário (Construtor de Relatórios 3.0 e SSRS).

Observação sobre segurançaObservação sobre segurança

Em qualquer relatório que inclua um parâmetro do tipo String, use uma lista de valores disponíveis (também conhecida como uma lista de valores válidos) e verifique se todos os usuários que executam o relatório têm somente as permissões necessárias para exibir os dados do relatório. Quando você define um parâmetro do tipo String, o usuário vê uma caixa de texto que pode assumir qualquer valor. Uma lista de valores disponíveis limita os valores que podem ser inseridos. Se o parâmetro do relatório estiver associado a um parâmetro de consulta e uma lista de valores disponíveis não for usada, um usuário do relatório poderá digitar sintaxe SQL na caixa de texto, abrindo potencialmente o relatório e o servidor a um ataque de injeção SQL. Se o usuário tiver permissões suficientes para executar a nova instrução SQL, resultados indesejados podem ser produzidos no servidor.

Se um parâmetro de relatório não estiver associado a um parâmetro de consulta e os valores de parâmetro forem incluídos no relatório, um usuário do relatório poderá digitar sintaxe de expressão ou uma URL no valor do parâmetro e renderizar o relatório em Excel ou HTML. Se outro usuário exibir o relatório e clicar no conteúdo do parâmetro renderizado, o usuário poderá executar acidentalmente o script ou link mal-intencionado.

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

Definindo propriedades de parâmetro

As propriedades de parâmetro que podem ser modificados em um relatório publicado são determinadas pelo parâmetro especificado na definição de relatório original. Você sempre poderá alterar o texto de exibição e a propriedade Ocultar, que determina se o parâmetro é visível aos usuários. Porém, nem sempre é possível alterar o valor padrão se o valor for derivado de uma consulta. Neste caso, o cadeia de caracteres de texto “QueryBased” aparece próximo ao parâmetro.

Para modificar propriedades de parâmetro, abra a página Propriedades de Parâmetro do relatório. Você pode modificar as seguintes propriedades:

  • A propriedade Possui Padrão determina se o relatório pode ser processado sem entrada do usuário. Se um parâmetro não tiver um valor padrão especificado, o usuário deve fornecer um antes que o relatório possa ser processado.

  • A propriedade Valor Padrão pode ser uma constante ou nulo (se o parâmetro aceitar valores nulos). Não pode ser definida como uma expressão.

  • A propriedade Ocultar determina se os campos de exibição e entrada são visíveis aos usuários. Marque esta caixa de seleção para ocultar o parâmetro.

  • A propriedade Avisar Usuário determina se o usuário pode digitar ou selecionar um valor válido diferente para o parâmetro. Esta propriedade é habilitada quando Ocultar é desabilitado.

  • A propriedade Exibir Texto especifica o texto que aparece próximo ao parâmetro. Este texto pode ser um rótulo ou uma cadeia de caracteres de texto mais longa que fornece instruções de uso. Esta propriedade é habilitada quando você seleciona Avisar Usuário.

Você não pode excluir, renomear, reordenar ou alterar o tipo de dados de parâmetros em um relatório publicado. Além disso, você não pode alterar o nome de parâmetro. Para alterar qualquer uma destas propriedades, modifique a definição de relatório.

Ocultando parâmetros

Você pode ocultar os campos de parâmetro e rótulos usados com um relatório. Quando todos os parâmetros são ocultados, a área de parâmetro para um relatório sob demanda é ocultada. Se você ocultar um parâmetro, deverá fornecer um valor padrão na definição de relatório ou na página Propriedades de Parâmetro. Dependendo do relatório, é possível especificar um valor nulo se forem permitidos valores novos.

Ocultar um parâmetro não o deixa invisível em todas as situações. Os parâmetros ocultados na barra de ferramentas do relatório ainda podem ser definidos em assinaturas e por meio de URLs. Para ocultar um parâmetro em todos os lugares, exceto na definição de relatório, selecione Interno na caixa de diálogo Parâmetros do Relatório.

Para ocultar um parâmetro:

  1. Selecione Possui Padrão.

  2. Especifique Valor Padrão.

  3. Selecione Ocultar.

Validando valores de parâmetro

Para verificar se um valor especificado é válido, execute o relatório. Os erros que são relacionados ao processamento de parâmetros aparecem na página Erro do Gerenciador de Relatórios. Para investigar o problema mais a fundo, você pode exibir os arquivos de log. Para obter mais informações, consulte Arquivos de log do Reporting Services.

Definindo parâmetros em assinaturas

Além de usar a página Propriedades de Parâmetro, você também pode definir valores de parâmetro ao criar uma assinatura. Cada usuário que assina um relatório pode especificar valores de parâmetro armazenados e usados pela assinatura. Para obter mais informações, consulte Definindo parâmetros em uma assinatura.