Compartilhar via


Função Lookup (Construtor de Relatórios e SSRS)

Retorna o primeiro valor correspondente para o nome especificado de um conjunto de dados que contém pares de nome/valor.

Observação

Você pode criar e modificar definições de relatório (.rdl) no Construtor de Relatórios e no Designer de Relatórios no SQL Server Data Tools. Cada ambiente de criação fornece modos diferentes para criar, abrir e salvar relatórios e itens relacionados. Para obter mais informações, consulte Criando relatórios em Report Designer e Report Builder (SSRS) na Web em microsoft.com.

Sintaxe

  
Lookup(source_expression, destination_expression, result_expression, dataset)  

parâmetros

source_expression
(Variant) Uma expressão que é avaliada no escopo atual e que especifica o nome ou chave para procurar. Por exemplo, =Fields!ProdID.Value.

destination_expression
(Variant) Uma expressão que é avaliada para cada linha em um conjunto de dados e que especifica o nome ou a chave para correspondência. Por exemplo, =Fields!ProductID.Value.

result_expression
(Variant) Uma expressão avaliada para a linha no conjunto de dados em que source_expression = destination_expression e que especifica o valor a ser recuperado. Por exemplo, =Fields!ProductName.Value.

conjunto de dados
Uma constante que especifica o nome do conjunto de dados no relatório. Por exemplo, "Produtos".

Retorno

Retorna Variant ou Nothing se não houver correspondência.

Comentários

Use Lookup para recuperar o valor do conjunto de dados especificado para um par de nome/valor onde há uma relação de 1 para 1. Por exemplo, para um campo de ID em uma tabela, você pode usar Lookup para recuperar todos os números de telefone associados àquele cliente de um conjunto de dados que não esteja associado à região de dados.

Lookup faz o seguinte:

  • Avalia a expressão de origem no escopo atual.

  • Avalia a expressão de destino para cada linha do conjunto de dados especificado depois que foram aplicados filtros, com base na ordenação do conjunto de dados especificado.

  • Na primeira correspondência da expressão de origem e destino, avalia a expressão resultante para aquela linha no conjunto de dados.

  • Retorna o valor da expressão resultante.

Para recuperar diversos valores para um único nome ou campo de chave em que há uma relação um para muitos, use Função LookupSet (Construtor de Relatórios e SSRS). Para chamar Lookup um conjunto de valores, use a Função Multilookup (Report Builder e SSRS).

As restrições a seguir se aplicam:

  • Lookup é avaliado depois que todas as expressões de filtro são aplicadas.

  • Só um nível de pesquisa tem suporte. Uma expressão de origem, destino ou resultado não pode incluir uma referência a uma função de pesquisa.

  • Expressões de origem e destino devem ser avaliadas como o mesmo tipo de dados. O tipo de retorno é o mesmo que o tipo de dados da expressão resultante avaliada.

  • Expressões de origem, destino e resultado não podem incluir referências a variáveis de relatório ou grupo.

  • Lookup não pode ser usado como uma expressão para os seguintes itens de relatório:

    • Cadeias de conexão dinâmicas para uma fonte de dados.

    • Campos calculados em um conjunto de dados.

    • Parâmetros de consulta em um conjunto de dados.

    • Filtros em um conjunto de dados.

    • Parâmetros de relatório.

    • A propriedade Report.Language.

Para obter mais informações, confira Referência de funções de agregação (Construtor de Relatórios e SSRS) e Escopo das expressões para totais, agregações e coleções internas (Construtor de Relatórios e SSRS).

Exemplo

No exemplo seguinte, suponha que a tabela esteja associada a um conjunto de dados que inclui um campo para o identificador de produto ProductID. Um conjunto de dados separado chamado "Produto" contém a ID do identificador de produto correspondente e o nome de produto Nome.

Na expressão seguinte, Lookup compara o valor de ProductID com a ID em cada linha do conjunto de dados chamado "Produto" e, quando uma correspondência é localizada, retorna o valor do campo Nome para aquela linha.

=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")  

Consulte Também

Uso de expressões em relatórios (Construtor de Relatórios e SSRS)
Exemplos de expressões (Construtor de Relatórios e SSRS)
Tipos de dados em expressões (Construtor de Relatórios e SSRS)
Escopo das expressões para totais, agregações e coleções internas (Construtor de Relatórios e SSRS)