Partilhar via


Trabalhando com campos em um conjunto de dados de relatório

Os campos do conjunto de dados são usados como um link entre os itens de relatório, como tabelas e gráficos, e os dados do relatório. Um campo pode ser um link direto para uma coluna retornada por uma consulta ou pode ser um campo calculado definido por você.

Os campos do conjunto de dados não são iguais a campos internos. Os campos internos são um grupo de conjuntos predefinidos fornecido pelo Reporting Services que fornecem informações de relatório, como o nome do relatório ou o carimbo de data/hora, quando o relatório foi processado. Para obter mais informações, consulte Usando referências a campos internos em expressões (Reporting Services).

Para exibir os valores dos campos do conjunto de dados em um relatório, arraste-os para caixas de texto na superfície de design ou em células da região de dados ou para áreas de arrastar e soltar de gráficos e medidores. Os campos do conjunto de dados podem representar dados numéricos e não-numéricos, bem como outros tipos de dados em um banco de dados, como URLs para relatórios de detalhamento, imagens e endereços de email para assinantes.

Trabalhando com a coleção de campos

Os campos do conjunto de dados são especificados pela consulta do conjunto de dados e por qualquer campo calculado que você definir. Assim que você criar um conjunto de dados, pode exibir a coleção de campos do conjunto de dados se você expandir o nó do conjunto de dados no painel Dados do Relatório. Sempre que você alterar a consulta do conjunto de dados, os campos do banco de dados serão atualizados automaticamente.

Você especifica manualmente um campo calculado criando uma expressão. Os campos calculados podem ser usados para criar novos valores que não existem na fonte de dados. Por exemplo, um campo calculado pode representar um novo valor, uma ordem de classificação personalizada para um conjunto de valores de campo ou um campo existente que será convertido em um datatype diferente. Para obter mais informações, consulte Como adicionar, editar ou excluir um campo no painel Dados do Relatório.

Vinculando um campo de banco de dados ao item de relatório

Estes itens de relatório podem exibir dados de um conjunto de dados: caixa de texto, tabela, matriz, lista, gráfico e medidor. Para vincular um campo a um item de relatório, você pode arrastar o campo do painel Dados do Relatório ou usar o ícone do seletor de campo do item de relatório. Por exemplo, a forma mais simples de vincular um campo às áreas de arrastar e soltar da categoria Gráfico é usar o seletor de campo. Para uma Tablix com um grupo de linhas existente, você pode arrastar um campo para a área do grupo de linhas da Tablix para adicionar outros campos aninhados. Quando você arrastar um campo para a área do corpo da Tablix, poderá adicionar uma nova coluna com valores padrão preenchida automaticamente para o campo.

Para obter mais informações sobre como adicionar campos a itens de relatório na superfície de design, consulte os tipos de item de relatório específicos em Criando layout do relatório.

Se você não vir os resultados esperados na coleção de campos do conjunto de dados, consulte Solucionando problemas de relatório: Relatórios exportados para um formato de arquivo específico.

Entendendo as expressões padrão

Uma caixa de texto pode ser um item de relatório Textbox do relatório Body ou uma caixa de texto de uma célula em uma região de dados Tablix. Quando você vincula um campo a uma caixa de texto, a localização da caixa de texto determina a expressão padrão da referência do campo. No corpo do relatório, uma expressão de valor da caixa de texto deve especificar uma agregação e um conjunto de dados. Se houver apenas um conjunto de dados no relatório, essa expressão padrão será criada para você. Para um campo que representa um valor numérico, a função de agregação padrão será Sum. Para um campo que representa um valor não-numérico, a função de agregação padrão será First.

Em uma região de dados Tablix, a expressão de campo padrão depende das associações de linha e grupo da caixa de texto que você adiciona ao campo. A expressão de campo para o campo Sales, quando adicionada a uma caixa de texto na linha de detalhes de uma tabela é [Sales]. Se você adicionar o mesmo campo a uma caixa de texto de um cabeçalho de grupo, a expressão padrão é (Sum[Sales]), pois o cabeçalho do grupo exibe valores resumidos para o grupo, não valores detalhados. Quando o relatório for executado, o processador de relatório avaliará cada expressão e substituirá o resultado no relatório.

Usando propriedades de campo estendidas

As fontes de dados que suportam consultas multidimensionais, como SQL ServerAnalysis Services, oferecem suporte às propriedades de campo dos campos. As propriedades de campo aparecem no conjunto de resultados de uma consulta, mas não são visíveis no painel Dados do Relatório. Elas ainda estão disponíveis para serem usadas no relatório. Para fazer referência a uma propriedade de um campo, arraste o campo para o relatório e altere a propriedade padrão Value para o nome do campo da propriedade desejada. Por exemplo, em um cubo Analysis Services, você pode definir formatos para valores nas células do cubo. O valor formatado está disponível pelo uso da propriedade de campo FormattedValue. Para usar o valor diretamente em vez de usar um valor e definir a propriedade de formato da caixa de texto, arraste o campo para a caixa de texto e altere a expressão =Fields!FieldName.Value para =Fields!FieldName.FormattedValue.

ObservaçãoObservação

Nem todas as propriedades Field podem ser usadas com todas as fontes de dados. As propriedades Value e IsMissing são definidas para todas as fontes de dados. Outras propriedades predefinidas (como Key, UniqueName e ParentUniqueName para fontes de dados multidimensionais) são suportadas apenas se a fonte de dados fornecer essas propriedades. Propriedades personalizadas são suportadas por alguns provedores de dados. Para obter mais informações, consulte os tópicos específicos sobre propriedades de campo estendidas para o tipo de fonte de dados em Criando um conjunto de dados de relatório. Por exemplo, para uma fonte de dados do SQL ServerAnalysis Services, consulte Usando propriedades de campo estendidas para um conjunto de dados do Analysis Services.

Trabalhando com tipos de dados de campo

Quando você cria um conjunto de dados, os tipos de dados dos campos na fonte de dados podem não ser exatamente os tipos de dados usados em um relatório. Os tipos de dados podem passar por uma ou mais camadas de mapeamento. A extensão de processamento de dados ou o provedor de dados pode mapear tipos de dados da fonte de dados para tipos de dados da linguagem CLR. Os tipos de dados retornados pelas extensões de processamento de dados são mapeados para o subconjunto de tipos de dados CLR do .NET Framework.

Entendendo os tipos de dados de uma coleção de campos do conjunto de dados

Na fonte de dados, os dados são armazenados em tipos de dados suportados pela fonte de dados. Por exemplo, os dados em um banco de dados do SQL Server devem ser tipos de dados SQL Server suportados, como nvarchar ou datetime. Quando você recupera dados de uma fonte de dados, os dados passam por uma extensão de processamento de dados ou por um provedor de dados associado ao tipo da fonte de dados. Dependendo da extensão de processamento de dados, os dados podem ser convertidos de tipos de dados usados pela fonte de dados em tipos de dados suportados pela extensão de processamento de dados. O Reporting Services usa tipos de dados suportados pela versão CLR instalada com o Business Intelligence Development Studio.

Os dados do relatório saem da fonte de dados e passam pelo provedor de dados ou pela extensão de processamento de dados, chegando ao componente de processamento do relatório. A cada estágio, os dados são representados pelos tipos de dados descritos na lista a seguir:

O provedor de dados mapeia cada coluna do conjunto de resultados do tipo de dados nativo para um tipo de dados CLR do Microsoft.NET Framework:

  • Fonte de dados Os tipos de dados suportados pela versão do tipo de fonte de dados ao qual você está se conectando.

    Por exemplo, tipos de dados típicos para uma fonte de dados do SQL Server 2005 incluem int, datetime e varchar. Os tipos de dados introduzidos pelo SQL Server 2008 acrescentaram suporte para date, time, datetimetz e datetime2. Para obter mais informações, consulte Tipos de dados (Transact-SQL).

  • Provedor de dados ou extensão de processamento de dados   Os tipos de dados suportados pela versão do provedor de dados da extensão de processamento de dados que você seleciona ao se conectar com a fonte de dados. Os provedores de dados que se baseiam no .NET Framework usam tipos de dados suportados pela linguagem CLR.

    Por exemplo, os tipos de dados típicos suportados pelo .NET Framework incluem Int32 e String. Datas e horas do calendário são suportados pela estrutura DateTime. O .NET Framework 2.0 Service Pack 1 introduziu suporte à estrutura DateTimeOffset para datas com deslocamento de fuso horário. Para obter mais informações sobre datas com fuso horário, consulte

    ObservaçãoObservação

    O servidor de relatório usa os provedores de dados instalados e configurados no servidor de relatório. Clientes de criação de relatório em modo de Visualização usam as extensões de processamento de dados instaladas e configuradas na máquina cliente. Você deve testar o relatório no ambiente do cliente de relatório e do servidor de relatório.

  • Processador de relatório   Os tipos de dados baseiam-se na versão da linguagem CLR instalada quando você instalou o Reporting Services. O SQL Server 2008Reporting Services instala a linguagem CLR com base no .NET Framework 2.0 Service Pack 1.

    Por exemplo, os tipos de dados que o processador de relatório usa para os tipos de data e hora novos introduzidos no SQL Server 2008 são mostrados na tabela a seguir:

    Tipo de dados SQL

    Tipo de dados CLR

    Descrição

    Date

    DateTime

    Somente data

    Time

    TimeSpan

    Somente hora

    DateTimeTZ

    DateTimeOffset

    Data e hora com deslocamento de fuso horário

    DateTime2

    DateTime

    Data e hora com milissegundos fracionários

Para obter mais informações sobre os tipos de dados do SQL Server, consulte Tipos de dados (Mecanismo de Banco de Dados) e tipos de dados e funções de data e hora (Transact-SQL). Para obter mais informações sobre os tipos de dados CLR, consulte Working with Base Types.

Para obter mais informações sobre tipos de dados do provedor de dados do Microsoft.NET Framework, consulte Data Type Mappings (ADO.NET).

Para obter mais informações, consulte Trabalhando com tipos de dados em expressões (Reporting Services) e Tipos de dados de linguagem RDL (Reporting Services).