Partilhar via


Funções do Construtor de Relatórios - Função de pesquisa num relatório paginado (Construtor de Relatórios)

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

A pesquisa devolve o primeiro valor correspondente para o nome especificado de um conjunto de dados que contém pares nome/valor num 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, no 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

Parâmetro Definition
source_expression (Variante) Uma expressão que avalia no âmbito atual e que especifica o nome ou a chave a consultar. Por exemplo, =Fields!ProdID.Value.
destination_expression (Variante) Uma expressão que é avaliada para cada linha de um conjunto de dados e que especifica o nome ou a chave a corresponder. Por exemplo, =Fields!ProductID.Value.
result_expression (Variante) Uma expressão que é avaliada para a linha do conjunto de dados onde source_expression = destination_expression e que especifica o valor a ser recuperado. Por exemplo, =Fields!ProductName.Value.
dataset Uma constante que especifica o nome de um conjunto de dados no relatório. "Produtos" pode ser um exemplo de conjunto de dados que utiliza.

Devolução

A pesquisa devolve uma Variante, ou devolve Nada se não houver correspondência.

Observações

Use Lookup para recuperar o valor do conjunto de dados especificado para um par nome/valor onde há uma relação 1-para-1. Por exemplo, para um campo ID numa tabela, pode usar o Lookup para recuperar o campo Nome correspondente de um conjunto de dados que não está vinculado à região de dados.

O Lookup faz o seguinte:

  • Avalia a expressão-fonte no âmbito atual.

  • Avalia a expressão de destino para cada linha do conjunto de dados especificado após a aplicação dos filtros, com base na colação do conjunto de dados especificado.

  • Na primeira correspondência entre a expressão de origem e a expressão de destino, avalia a expressão de resultado para essa linha no conjunto de dados.

  • Devolve o valor da expressão do resultado.

Para recuperar múltiplos valores para um único nome ou campo de chave onde existe uma relação de 1 para muitos, use as funções do Construtor de Relatórios - função LookupSet num relatório paginado (Construtor de Relatórios). Para chamar o Lookup para um conjunto de valores, utilize as funções do Construtor de Relatórios - Função Multipesquisa num relatório paginado (Construtor de Relatórios).

Aplicam-se as seguintes restrições:

  • A consulta é avaliada após a aplicação de todas as expressões do filtro.

  • Apenas um nível de consulta é suportado. Uma expressão de origem, destino ou resultado não pode incluir uma referência a uma função de pesquisa.

  • As expressões de origem e destino devem ser avaliadas para o mesmo tipo de dado. O tipo de retorno é o mesmo que o tipo de dados da expressão de resultado avaliada.

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

  • Consulta não pode ser usada como expressão para os seguintes itens de relatório:

    • Strings de ligação dinâmicas para uma fonte de dados.

    • Campos calculados num conjunto de dados.

    • Consultar parâmetros num conjunto de dados.

    • Filtros num conjunto de dados.

    • Reporte os parâmetros.

    • A propriedade Report.Language.

Para mais informações, consulte funções do Construtor de Relatórios - referência de funções agregadas em relatórios paginados (Construtor de Relatórios) e âmbito de expressão para totais, agregados e coleções incorporadas num relatório paginado (Construtor de Relatórios).

Example

No exemplo seguinte, assuma que uma tabela está ligada a um conjunto de dados que inclui um campo para o identificador de produto ProductID. Um conjunto de dados separado chamado "Produto" contém o identificador do produto correspondente e o nome do produto.

Na expressão seguinte, o Lookup compara o valor do ProductID com o ID em cada linha do conjunto de dados chamada "Produto" e, quando é encontrada uma correspondência, devolve o valor do campo Nome dessa linha.

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