Função Lookup (Construtor de Relatórios 3.0 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 |
---|
É possível criar e modificar definições de relatórios (.rdl) no Report Builder 3.0 e no Designer de Relatórios no Business Intelligence Development Studio. Cada ambiente de criação fornece diferentes maneiras de criar, abrir e salvar relatórios e itens relacionados. Para obter mais informações, consulte Projetando e implementando relatórios usando o Designer de Relatórios (Reporting Services) 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 que é 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.dataset
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 o Name 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 foram aplicados filtros, com base no agrupamento 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 chave onde há uma relação de 1 para muitos, use Função LookupSet (Construtor de Relatórios 3.0 e SSRS). Para chamar Lookup para um conjunto de valores, use Função Multilookup (Construtor de Relatórios 3.0 e SSRS).
As seguintes restrições são aplicadas:
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, consulte Referência de funções de agregação (Construtor de Relatórios 3.0 e SSRS) e Compreendendo o escopo das expressões para totais, agregações e coleções internas (Construtor de Relatórios 3.0 e SSRS).
Exemplo
No exemplo a seguir, digamos que a tabela esteja associada a um conjunto de dados que inclua 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 Name.
Na expressão a seguir, Lookup compara o valor de ProductID a ID em cada linha do conjunto de dados chamado "Produto" e, quando uma correspondência é localizada, retorna o valor do campo Name para essa linha.
=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")
Consulte também