Funções do Construtor de Relatórios – função Lookup em um relatório paginado (Construtor de Relatórios)
Aplica-se a: Microsoft Report Builder (SSRS) Power BI Report Builder Report Designer no SQL Server Data Tools
Lookup 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
Parâmetro | Definição |
---|---|
source_expression | (Variant) Uma expressão 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_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. Produtos pode ser um exemplo de um conjunto de dados a ser usado. |
Return
Lookup retorna Variant ou Nothing se não houver correspondência.
Comentários
Use Lookup para recuperar o valor do conjunto de dados especificado de um par nome/valor em que há uma relação de 1 para 1. Por exemplo, para um campo de ID em uma tabela, você pode usar Lookup para recuperar o Nome correspondente 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 são 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 múltiplos valores para um único nome ou campo-chave em que há uma relação de 1 para muitos, use as funções do Report Builder — função LookupSet em um relatório paginado (Report Builder). Para chamar Lookup para um conjunto de valores, use Funções do Report Builder – função Multilookup em um relatório paginado (Report Builder).
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 usada 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 Funções do Report Builder – referência de funções de agregação em relatórios paginados (Report Builder) e Escopo de Expressão para Totais, Agregados e Coleções Internas (Report Builder).
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 do produto.
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")