Como usar a função LookUp no Power Apps: passo a passo
A função LookUp no Power Apps serve para encontrar um único registo numa fonte de dados e devolver um valor desse registo — por exemplo, o preço de um produto a partir do seu código. É uma das funções mais úteis do Power Fx no dia a dia: evita percorrer listas manualmente e mantém a aplicação rápida e legível. A seguir vês, com exemplos simples, como usar o LookUp desde a sintaxe básica até uma dica de delegação para trabalhar bem com muitos dados.
Pré-requisitos
- Uma conta com acesso ao Power Apps e permissões para criar Canvas Apps.
- Uma fonte de dados com alguns registos. Neste exemplo usamos uma tabela chamada
Produtoscom as colunasID,NomeePreco. - Noções básicas do editor de Canvas Apps: adicionar controlos e escrever fórmulas na barra de fórmulas.
Passo 1: Perceber a sintaxe do LookUp
A função LookUp tem três partes, sendo a última opcional:
LookUp( Fonte, Condição, Resultado )
- Fonte: a tabela ou lista onde procurar, como
Produtos. - Condição: o teste que identifica o registo, como
ID = 10. O LookUp devolve o primeiro registo que dá verdadeiro. - Resultado (opcional): a coluna ou expressão a devolver. Se a omitires, o LookUp devolve o registo inteiro.
Nota: em algumas configurações regionais o separador de argumentos é o ponto e vírgula (;) em vez da vírgula. Usa o separador que o teu editor mostrar.
Passo 2: Devolver um valor com o LookUp
Vamos mostrar o preço de um produto num rótulo (Label). Adiciona um controlo Label e, na propriedade Text, escreve:
LookUp(Produtos, ID = 10, Preco)
Esta fórmula procura na tabela Produtos o primeiro registo cujo ID é igual a 10 e devolve apenas o valor da coluna Preco. Um registo, um valor: é isto que distingue o LookUp do Filter, que devolve uma tabela com várias linhas.
Passo 3: Tornar a pesquisa dinâmica
Fixar o ID a 10 não é prático. Vamos deixar o utilizador escolher. Adiciona um controlo Drop down chamado drpProduto e define a sua propriedade Items como Produtos. Agora muda o Text do rótulo para:
LookUp(Produtos, ID = drpProduto.Selected.ID, Preco)
Sempre que escolheres um produto na lista, o rótulo mostra automaticamente o preço correspondente. O LookUp faz a ligação entre a seleção e os detalhes desse registo.
Passo 4: Devolver o registo inteiro
Se precisares de vários campos do mesmo produto, não repitas o LookUp várias vezes. Omite o terceiro argumento para obter o registo completo e guarda-o numa variável:
Set(varProduto, LookUp(Produtos, ID = drpProduto.Selected.ID))
A partir daqui podes usar varProduto.Nome, varProduto.Preco ou qualquer outra coluna onde quiseres, sem voltar a procurar. É mais limpo e mais rápido.
Passo 5: Tratar o "não encontrado" e a delegação
Quando nenhum registo cumpre a condição, o LookUp devolve um valor em branco. Para mostrar um texto amigável em vez de um espaço vazio, usa Coalesce:
Coalesce(LookUp(Produtos, ID = drpProduto.Selected.ID, Nome), "Sem resultado")
Outra atenção importante é a delegação. O LookUp é delegável em fontes como Dataverse, SharePoint e SQL Server, desde que a condição use operadores delegáveis (=, <>, <, >, StartsWith…). Mantém a condição simples: assim o Power Apps procura em toda a fonte de dados e não apenas nos primeiros registos carregados.
Verificar o resultado
Pré-visualiza a aplicação (tecla F5 ou botão Play). Escolhe um produto no drop down e confirma que o rótulo mostra o preço certo; muda a seleção e vê o valor a atualizar-se. Se aparecer em branco, verifica se o ID existe e se os nomes das colunas estão corretos. Confirma também que não há aviso de delegação (o triângulo azul) sobre a fórmula.
Conclusão
Já sabes usar o LookUp para encontrar um registo e devolver um valor ou o registo completo — ideal para mostrar detalhes, preços ou ligar informação entre ecrãs. Um bom próximo passo é combinar o LookUp com o Patch para preencher um formulário com um registo existente, ou explorar o Filter quando precisares de vários registos em vez de um só. Qual vai ser o primeiro sítio na tua app onde o LookUp te vai poupar trabalho?