Partilhar via


Coleção de campos de conjunto de dados (Construtor de Relatórios e SSRS)

Os campos do conjunto de dados representam os dados de uma conexão de dados. Um campo pode representar dados numéricos ou não numéricos. Os exemplos incluem valores de vendas, vendas totais, nomes de clientes, identificadores de banco de dados, URLs, imagens, dados espaciais e endereços de e-mail. Na superfície de design, os campos aparecem como expressões em itens de relatório, como caixas de texto, tabelas e gráficos.

Um relatório tem três tipos de campos e os exibe no painel Dados do Relatório: campos do conjunto de dados, campos calculados do conjunto de dados e campos internos.

  • Campos de conjunto de dados. Os metadados que representam a coleção de campos que serão retornados quando a consulta do conjunto de dados for executada na fonte de dados.

  • Campos calculados do conjunto de dados. Campos adicionais que você cria para o conjunto de dados. Cada campo calculado é criado avaliando uma expressão definida por você.

  • Campos incorporados. Os metadados que representam uma coleção de campos fornecidos pelo Construtor de Relatórios que fornecem informações de relatório, como o nome do relatório ou a hora em que o relatório foi processado. Para obter mais informações, consulte Globals internos e referências de usuários (Construtor de Relatórios e SSRS).

Os nomes dos campos do conjunto de dados são salvos como parte da definição do conjunto de dados do relatório. Para obter mais informações, consulte Conjuntos de dados incorporados de relatório e conjuntos de dados compartilhados (Construtor de Relatórios e SSRS).

Observação

Você pode criar e modificar arquivos de definição de relatório paginado (.rdl) no Construtor de Relatórios da Microsoft, no Construtor de Relatórios do Power BI e no Designer de Relatórios no SQL Server Data Tools.

Campos e consultas do conjunto de dados

Os campos do conjunto de dados são especificados pelo comando de consulta do conjunto de dados e por quaisquer campos calculados que você definir. A coleção de campos que você vê no relatório depende do tipo de conjunto de dados que você tem:

  • Conjunto de dados compartilhado. A coleção de campos é a lista de campos para a consulta na definição de conjunto de dados compartilhado no momento em que você adicionou diretamente o conjunto de dados compartilhado ao relatório ou quando adicionou uma parte de relatório que incluía o conjunto de dados compartilhado. A coleção de campos locais não é alterada quando a definição do conjunto de dados compartilhado é alterada no servidor de relatório. Para atualizar a coleção de campos local, você deve atualizar a lista para o conjunto de dados compartilhado local.

    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.

  • Conjunto de dados incorporado. A coleção de campos é a lista de campos retornada da execução da consulta atual na fonte de dados.

Para obter mais informações, consulte Adicionar, Editar, Atualizar Campos no Painel de Dados do Relatório (Construtor de Relatórios e SSRS)

Campos calculados

Você especifica um campo calculado manualmente 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 é convertido em um tipo de dados diferente.

Os campos calculados são locais para um relatório e não podem ser salvos como parte de um conjunto de dados compartilhado.

Para obter mais informações, consulte Adicionar, editar, atualizar campos no painel de dados do relatório (Construtor de Relatórios e SSRS).

Entidades e Campos de Entidades

Se você estiver trabalhando com uma fonte de dados de modelo de relatório, especifique as entidades e os campos de entidade como seus dados de relatório. No designer de consulta para um modelo de relatório, você pode explorar e selecionar entidades relacionadas interativamente e escolher os campos que deseja incluir no conjunto de dados do relatório. Depois de concluir a criação da consulta, você pode ver a coleção de identificadores de entidade e campos de entidade no painel Dados do Relatório. Os identificadores de entidade são gerados automaticamente pelo modelo de relatório e normalmente não são exibidos para o usuário final.

Usando propriedades de campo estendidas

As fontes de dados que dão suporte a consultas multidimensionais, como o SQL Server Analysis Services, oferecem suporte a propriedades de campo em 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 . Eles ainda estão disponíveis para uso em seu relatório. Para fazer referência a uma propriedade para 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 do Analysis Services, você pode definir formatos para valores nas células do cubo. O valor formatado está disponível usando a propriedade field FormattedValue. Para usar o valor diretamente em vez de usar um valor e definir a propriedade format da caixa de texto, arraste o campo para a caixa de texto e altere a expressão =Fields!FieldName.Value padrão para =Fields!FieldName.FormattedValue.

Observação

Nem todas as propriedades de campo podem ser usadas para 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 somente se a fonte de dados fornecer essas propriedades. As propriedades personalizadas são suportadas por alguns fornecedores de dados. Para obter mais informações, consulte tópicos específicos sobre propriedades de campo estendidas para seu tipo de fonte de dados em Conjuntos de Dados Incorporados de Relatório e Conjuntos de Dados Compartilhados (Construtor de Relatórios e SSRS). Por exemplo, para uma fonte de dados do SQL Server Analysis Services, consulte Propriedades de campo estendidas para um banco de dados do Analysis Services (SSRS).

Noções básicas sobre expressões padrão para campos

Uma caixa de texto pode ser um item de relatório de caixa de texto no corpo do relatório ou uma caixa de texto em uma célula em uma região de dados tablix. Quando você vincula um campo a uma caixa de texto, o local da caixa de texto determina a expressão padrão para a referência de campo. No corpo do relatório, uma expressão de valor de caixa de texto deve especificar uma agregação e um conjunto de dados. Se existir 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 é Soma. Para um campo que representa um valor não numérico, a agregação padrão é 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 à qual você adiciona o campo. A expressão de campo para o campo Vendas, 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 em um cabeçalho de grupo, a expressão padrão será (Sum[Sales]), porque o cabeçalho do grupo exibe valores de resumo para o grupo, não valores de detalhes. Quando o relatório é executado, o processador de relatório avalia cada expressão e substitui o resultado no relatório.

Para obter mais informações sobre expressões, consulte Expressões (Construtor de Relatórios e SSRS).

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 duas 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 CLR (Common Language Runtime). Os tipos de dados retornados por extensões de processamento de dados são mapeados para um subconjunto de tipos de dados CLR (Common Language Runtime) do .NET Framework.

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 um dos tipos de dados do SQL Server com suporte, como nvarchar ou datetime. Quando você recupera dados da fonte de dados, os dados passam por uma extensão de processamento de dados ou provedor de dados associado ao tipo de fonte de dados. Dependendo da extensão de processamento de dados, os dados podem ser convertidos dos 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 pelo Common Language Runtime (CLR) instalado com o SSDT (SQL Server Data Tools). O provedor de dados mapeia cada coluna no conjunto de resultados do tipo de dados nativo para um tipo de dados CLR (Common Language Runtime) do .NET Framework.

Em cada estágio, os dados são representados pelos tipos de dados, conforme descrito na lista a seguir:

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

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

  • Fornecedor 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 selecionada quando você se conecta à fonte de dados. Os provedores de dados baseados no .NET Framework usam tipos de dados suportados pelo CLR. Para obter mais informações sobre tipos de dados do provedor de dados do .NET Framework, consulte Mapeamentos de tipo de dados (ADO.NET) e Trabalhando com tipos básicos no MSDN.

    Por exemplo, os tipos de dados típicos suportados pelo .NET Framework incluem Int32 e String. As datas e horas do calendário são suportadas pela estrutura DateTime . O .NET Framework 2.0 Service Pack 1 introduziu suporte para a estrutura DateTimeOffset para datas com um deslocamento de fuso horário.

    Observação

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

  • Processador de relatórios Os tipos de dados são baseados na versão do CLR instalada quando você instalou o Reporting Services.

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

    Tipo de dados SQL Tipo de dados CLR Description
    Data Data/Hora Apenas data
    Time Período de tempo Apenas tempo
    DateTimeTZ DateTimeOffset Data e hora com deslocamento de fuso horário
    DateTime2 Data/Hora Data e hora com milissegundos fracionados

Para obter mais informações sobre tipos de banco 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 como incluir referências a um campo de conjunto de dados a partir de uma expressão, consulte Tipos de dados em expressões (Construtor de Relatórios e SSRS).

Detetando campos ausentes em tempo de execução

Quando o relatório é processado, o conjunto de resultados para um conjunto de dados pode não conter valores para todas as colunas especificadas porque as colunas não existem mais na fonte de dados. Você pode usar a propriedade field IsMissing para detetar se os valores de um campo foram retornados em tempo de execução. Para obter mais informações, consulte Referências de coleção de campos de conjunto de dados (Construtor de Relatórios e SSRS).