Adicionando parâmetros ao relatório

No Reporting Services, os parâmetros são usados para especificar os dados a serem usados em um relatório, conectar os relatórios relacionados em conjunto e variar a apresentação do relatório. Para criar um relatório que usa parâmetros efetivamente, você deve entender como os parâmetros e as consultas a conjunto de dados funcionam em conjunto, como os parâmetros e as expressões funcionam em conjunto, como os parâmetros podem ser gerenciados no servidor de relatório para um relatório publicado e quais perguntas um relatório é projetado para responder. A escolha da parametrização pode influenciar o design e o layout do relatório.

Os parâmetros de consulta são adicionados a uma consulta a conjunto de dados por meio dos designers de consulta ou da caixa de diálogo Propriedades do Conjunto de Dados. Após criar uma consulta com parâmetros, o Reporting Services vincula automaticamente os parâmetros da consulta aos parâmetros do relatório com o mesmo nome. Os novos parâmetros do relatório são adicionados e modificados por meio do painel Dados do Relatório.

Usando parâmetros no Reporting Services

O uso mais comum de parâmetros é para variar os dados do relatório recuperados pelas consultas de conjunto de dados. Neste cenário, um valor ou valores são solicitados aos usuários ao executarem o relatório, e a consulta de conjunto de dados recupera somente os dados solicitados. A consulta de conjunto de dados inclui os parâmetros de consulta e o Reporting Services cria automaticamente os parâmetros do relatório correspondente vinculados indiretamente aos parâmetros da consulta. É possível alterar as propriedades dos parâmetros do relatório nas ferramentas de design do relatório para incluir uma lista de valores válidos e um prompt do usuário que é exibido em tempo de execução.

Também é possível criar parâmetros em cascata que recuperam dados hierárquicos de uma fonte de dados. Por exemplo, o primeiro parâmetro pode se filtrado por categoria de produto e o segundo parâmetro pode ser filtrado por produto. Os parâmetros em cascata são usados para organizar e limitar o número de valores disponíveis para o usuário.

Nem todas as fontes de dados oferecem suporte a parâmetros de consulta. Para ocasiões em que não é possível filtrar dados na fonte, você pode usar parâmetros de relatório para fornecer aos usuários a capacidade de filtrar dados depois que eles foram recuperados para o relatório. Embora todos os parâmetros de consulta possuam parâmetros de relatório correspondentes, é possível definir parâmetros de relatório independentemente nas ferramentas do designer de relatórios. Os parâmetros de relatório também podem ser usados para alterar a aparência ou a organização de um relatório depois que os dados foram recuperados.

Os parâmetros são usados para conectar relatórios a sub-relatórios e relatórios de detalhamento. Esses parâmetros de relatório podem estar ocultos, usando valores no relatório principal para selecionar os dados corretos para o relatório conectado, ou podem estar visíveis para o usuário em tempo de execução.

Depois que um parâmetro de relatório é criado, é possível modificar os valores padrão e outras propriedades do parâmetro, como visibilidade. Por exemplo, os parâmetros de relatório podem usar variáveis internas, como UserID. Portanto, talvez você queira criar um relatório com um parâmetro oculto que selecione dados específicos ao usuário que executa o relatório. Os parâmetros podem conter valores únicos ou vários valores, usar uma lista de valores válidos estáticos ou baseados em consulta e aceitar valores em branco ou nulos. Os parâmetros de vários valores permitem que os usuários selecionem mais de um valor em tempo de execução.

Após a publicação de um relatório, os parâmetros podem ser gerenciados independentemente a partir da definição do relatório. Dependendo de como o parâmetro é configurado no relatório no tempo de design, os administradores do servidor de relatório podem modificar muitas propriedades de parâmetros no relatório publicado. Eles também podem criar conjuntos de parâmetros vinculados à mesma definição de relatório que personalizam o relatório para várias audiências. Para obter mais informações, consulte Definindo propriedades de parâmetro para um relatório publicado.

Também é possível executar relatórios e especificar valores de parâmetros com acesso à URL. Para obter mais informações, consulte Usando parâmetros de acesso a URL.

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. Ao definir um parâmetro do tipo String, é exibida para o usuário uma caixa de texto que pode ter 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 por fontes confiáveis. Para obter mais informações sobre como proteger relatórios, consulte Protegendo relatórios e recursos.

Nesta seção