Funções do Construtor de Relatórios – função Lookup em um relatório paginado (Construtor de Relatórios)

Aplica-se a: Construtor de Relatórios da Microsoft (SSRS) Construtor de Relatórios do Power BI Designer de Relatórios no SQL Server Data Tools

Retorna o primeiro valor correspondente para o nome especificado de um conjunto de dados que contém pares de nome/valor em um relatório paginado.

Observação

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

Sintaxe

  
Lookup(source_expression, destination_expression, result_expression, dataset)  

parâmetros

source_expression
(Variante) 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 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 do conjunto de dados em que source_expression = destination_expressione 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 Variantou 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 no qual há uma relação de um para um. 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 para um conjunto de valores, use Função Multilookup (Construtor de Relatórios 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)