Partilhar via


Criando conjuntos de dados de relatório de um banco de dados relacional do SQL Server (Construtor de Relatórios 2.0)

O Construtor de Relatórios 2.0 fornece uma extensão de processamento de dados que suporta a recuperação de dados de relatório de bancos de dados relacionais do MicrosoftSQL Server. Você pode recuperar dados de relatório para um conjunto de dados de relatório de tabelas de banco de dados, exibições, procedimentos armazenados e funções avaliadas por tabela.

Antes de você criar um conjunto de dados de relatório, deve criar uma fonte de dados que tem o tipo de fonte de dados MicrosoftSQL Server. Após criar uma fonte de dados MicrosoftSQL Server, você pode criar um conjunto de dados das seguintes formas:

  • Use os Assistentes de Nova Tabela ou Matriz e Novo Gráfico. Você pode selecionar um conjunto de dados existente no relatório ou os assistentes para ajudar a criar um conjunto de dados diferente e uma consulta.

  • Crie um conjunto de dados e uma consulta de conjunto de dados do painel Dados do Relatório.

Especificando uma consulta de conjunto de dados de relatório

Uma consulta especifica quais dados devem ser recuperados de um banco de dados do MicrosoftSQL Server para um conjunto de dados de relatório. As colunas no conjunto de resultados para uma consulta populam a coleção de campos para um conjunto de dados. Um relatório só processa o primeiro conjunto de resultados recuperado por qualquer consulta.

Você pode escolher uma das opções seguintes para ajudar a especificar os dados desejados:

  • Crie uma consulta interativamente. Use o designer de consulta relacional que mostra uma exibição hierárquica de tabelas, exibições, procedimentos armazenados e outros itens de banco de dados, organizado por esquema de banco de dados. Selecione colunas de tabelas ou exibições ou especifique procedimentos armazenados ou funções de valor de tabela. Limite o número de linhas de dados a serem recuperadas especificando critérios de filtro. Personalize o filtro quando o relatório for executado definindo a opção de parâmetro.

  • Digite ou cole uma consulta. Use o designer de consulta com base em texto para inserir o texto do Transact-SQL diretamente, para colar o texto de consulta de outra fonte, para inserir consultas complexas que não podem ser criadas usando o designer de consulta relacional ou para inserir expressões com base em consulta.

  • Importa uma consulta existente de um arquivo ou relatório. Use o botão Importar consulta de qualquer designer de consulta para navegar até um arquivo .sql ou .rdl e importar uma consulta.

Para obter mais informações, consulte Interface de usuário do Designer de Consulta relacional (Construtor de Relatórios 2.0), Interface de usuário do Designer de Consulta com base em texto (Construtor de Relatórios 2.0) e Como recuperar dados de uma fonte de dados do SQL Server (Construtor de Relatórios 2.0).

Usando o tipo de consulta Text

No designer de consulta baseado em texto, você pode digitar os comandos Transact-SQL para definir os dados em um conjunto de dados. Por exemplo, a seguinte consulta Transact-SQL seleciona os nomes de todos os funcionários que são assistentes de marketing.

SELECT
  HumanResources.Employee.BusinessEntityID
  ,HumanResources.Employee.JobTitle
  ,Person.Person.FirstName
  ,Person.Person.LastName
FROM
  Person.Person
  INNER JOIN HumanResources.Employee
    ON Person.Person.BusinessEntityID = HumanResources.Employee.BusinessEntityID
WHERE HumanResources.Employee.JobTitle = 'Marketing Assistant' 

Clique no botão Executar (!) na barra de ferramentas para executar a consulta e exibir um conjunto de resultados.

Para parametrizar essa consulta, adicione um parâmetro de consulta. Por exemplo, altere a cláusula WHERE para o seguinte:

WHERE HumanResources.Employee.JobTitle = (@JobTitle)

Quando você executa a consulta, os parâmetros do relatório que correspondem aos parâmetros da consulta serão criados automaticamente. Para obter mais informações, consulte Parâmetros de consulta posteriormente neste tópico.

Usando o tipo de consulta StoredProcedure

Você pode especificar um procedimento armazenado para uma consulta de conjunto de dados das seguintes maneiras:

  • Na caixa de diálogo Propriedades do Conjunto de dados, defina a opção Procedimento Armazenado. Faça suas escolhas na lista suspensa de procedimentos armazenados e funções avaliadas por tabela.

  • No designer de consulta relacional, no painel de exibição Banco de Dados, selecione um procedimento armazenado ou função avaliada por tabela.

  • No designer de consulta baseado em texto, selecione StoredProcedure na barra de ferramentas.

Após selecionar um procedimento armazenado ou função avaliada por tabela, você pode executar a consulta. Você receberá uma solicitação para obter valores de parâmetro de entrada. Quando você executa a consulta, os parâmetros do relatório que correspondem aos parâmetros de entrada serão criados automaticamente. Para obter mais informações, consulte Parâmetros de consulta posteriormente neste tópico.

Somente o primeiro conjunto de resultados recuperado para um procedimento armazenado é suportado. Se um procedimento armazenado retornar vários conjuntos de resultados, somente o primeiro é usado.

Se um procedimento armazenado tiver um parâmetro com um valor padrão, você poderá acessar esse valor usando a palavra-chave DEFAULT como valor para o parâmetro. Se o parâmetro de consulta estiver vinculado a um parâmetro de relatório, o usuário poderá digitar ou selecionar a palavra DEFAULT na caixa de entrada do parâmetro de relatório.

Para obter mais informações sobre procedimentos armazenados, consulte "Procedimentos armazenados (mecanismo de banco de dados)" nos Manuais Online do SQL Server.

Usando parâmetros de consulta

Para texto de consulta que contém parâmetros ou para procedimentos armazenados com parâmetros de entrada, os parâmetros de relatório correspondentes são criados automaticamente. Quando o relatório for executado, os valores dos parâmetros de relatório serão passados para os parâmetros de consulta. Por exemplo, a consulta SQL a seguir criar um parâmetro de relatório chamado EmpID:

SELECT FirstName, LastName FROM HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID 
WHERE EmployeeID = @EmpID

Você pode gerenciar a relação entre os parâmetros de relatório e os parâmetros de consulta usando Caixa de diálogo Propriedades do Conjunto de Dados, Parâmetros (Construtor de Relatórios 2.0). As consultas com parâmetros vinculados a parâmetros de relatório não exigem a instrução DECLARE.

Embora os parâmetros de relatório sejam criados automaticamente a partir dos parâmetros de consulta, você poderá gerenciar os parâmetros de relatório separadamente no painel Dados de Relatório.

ObservaçãoObservação

Se você alterar o nome de um parâmetro de consulta ou excluir um parâmetro de consulta, o parâmetro do relatório que corresponde ao parâmetro de consulta não é alterado nem excluído automaticamente. Você pode remover ou alterar a ordem dos parâmetros de relatório, usando botões na barra de ferramentas do painel Dados do Relatório. Para obter mais informações, consulte Adicionando parâmetros ao relatório (Construtor de Relatórios 2.0).

Modificando um banco de dados

Após criar um conjunto de dados, você pode exibir o conjunto de dados e sua coleção de campos no painel Dados do Relatório. Talvez você também queira usar a caixa de diálogo Propriedades do Conjunto de Dados para realizar algumas das seguintes tarefas:

  • Editar a coleção de campos adicionando campos calculados. Os campos calculados têm valores com base em expressões avaliadas após a execução da consulta. Os tipos de dados dos campos serão mapeados para um subconjunto de tipos de dados CLR do .NET Framework.

  • Especificar as propriedades do conjunto de dados, como Timeout, CaseSensitivity e Collation.

  • Modificar a consulta para adicionar parâmetros que permitem a um usuário ou autor de relatório personalizar os dados de um relatório em tempo de execução.

Além disso, para alterar o modo como os dados são classificados ou filtrados em um conjunto de dados, consulte os tópicos seguintes: