Pular para o conteúdo principal

Um guia completo do DAX LOOKUPVALUE

Domine a função LOOKUPVALUE no Power BI com exemplos simples e combinações avançadas com outras funções DAX.
Atualizado 17 de set. de 2026  · 9 min lido

Explorar com IA

ChatGPTClaudePerplexity

LOOKUPVALUE é uma função DAX muito útil para localizar e recuperar valores em outras tabelas.

Embora não substitua boas práticas de modelagem de dados nos seus relatórios do Power BI, a LOOKUPVALUE oferece bastante flexibilidade para escrever expressões complexas com múltiplas condições — especialmente quando você quer combiná-la com outras funções DAX.

Neste tutorial, vamos apresentar os fundamentos da função LOOKUPVALUE, como ela funciona, como usá-la (principalmente em conjunto com outras funções DAX) e algumas considerações de performance e boas práticas para aplicar a LOOKUPVALUE nos seus relatórios do Power BI.

A LOOKUPVALUE no Power BI é bem parecida com a VLOOKUP do Microsoft Excel. No entanto, vale a pena se familiarizar com DAX e Power BI antes de encarar a LOOKUPVALUE. Nossa trilha de habilidades Power BI fundamentals vai te colocar no ritmo rapidamente, e nosso DAX cheat sheet é um ótimo material de referência para ter à mão enquanto você trabalha com funções DAX.

Power BI DAX Cheat Sheet

os fundamentos de LOOKUPVALUE

Com a função LOOKUPVALUE, podemos recuperar um único valor de uma coluna em outra tabela com base em uma ou mais condições de busca.

Aqui está a sintaxe padrão:

LOOKUPVALUE (
    <result_columnName>,
    <search_columnName>,
    <search_value>
    [, <search2_columnName>, <search2_value>]…
    [, <alternateResult>]
)

Se você ainda é novo em DAX e na sintaxe, confira nosso curso Introduction to DAX ou leia rapidamente nosso tutorial de DAX para iniciantes do zero. Você também pode aprofundar seus conhecimentos em DAX com nosso curso Intermediate DAX.

Vamos detalhar os parâmetros da LOOKUPVALUE:

  • result_column: é a coluna que você quer recuperar da tabela de destino.
  • search_column1: é a coluna na tabela de destino que contém o critério que você deseja corresponder.
  • search_value1: é o valor a ser procurado em search_column1. Pode ser um valor fixo (como um texto), o resultado de uma expressão (como min ou max) ou uma coluna na tabela de origem contra a qual a LOOKUPVALUE deve fazer a correspondência.
  • [search_column2, search_value2, ...]: pares adicionais opcionais de colunas e valores de busca. Você pode informar vários pares para criar condições de busca mais complexas.
  • [alternateResult]: é o resultado padrão ou alternativo. Se a LOOKUPVALUE não encontrar uma correspondência adequada, ela retorna esse valor.

Cada vez que a LOOKUPVALUE realiza uma busca na tabela de destino, ela deve encontrar apenas uma correspondência. Se houver várias possíveis, você precisará definir pares de busca adicionais até que a LOOKUPVALUE consiga encontrar um resultado único.

Para ficar mais claro, vamos falar de um exemplo disso na próxima seção.

exemplos simples de LOOKUPVALUE

uso básico

Imagine que você tem uma tabela de produtos com as colunas ProductID e ProductName. Você quer encontrar o nome do produto com ID 101.

Product_Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], 101)

múltiplas condições de busca

Agora, suponha que você tenha uma tabela Sales com as colunas ProductID, Region e Revenue. Você quer encontrar a receita de um produto específico (ID 101) em uma determinada região (East).

Product_Revenue = LOOKUPVALUE(Sales[Revenue], Sales[ProductID], 101, Sales[Region], "East")

tratando valores em branco

Quando as condições de busca não retornam nenhuma correspondência, a LOOKUPVALUE retorna em branco.

Aqui estão duas maneiras de tratar esses valores em branco:

  • Usar o parâmetro de resultado alternativo da LOOKUPVALUE.
  • Usar a função COALESCE para especificar um resultado alternativo caso a LOOKUPVALUE retorne em branco.

método 1: resultado alternativo

Você pode definir um valor padrão ou resultado alternativo na função LOOKUPVALUE. Esse é um parâmetro opcional colocado no final da expressão.

Product_Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], 101, "Not Found")

método 2: COALESCE

Outra opção é usar a função COALESCE, que funciona praticamente da mesma forma que especificar um resultado alternativo direto na LOOKUPVALUE.

No entanto, dependendo do seu caso de uso e do conjunto de dados, o COALESCE pode ter melhor performance. Se velocidade e desempenho são importantes para o seu relatório no Power BI, vale a pena considerar o COALESCE.

Commission Rate = 
COALESCE( 
     LOOKUPVALUE(
          'CommissionRates'[Rate],
          'CommissionRates'[SalespersonID], SELECTEDVALUE('Sales'[SalespersonID])
     ), 
     0.05 
)

Definir relacionamentos entre suas tabelas é sempre uma boa prática de modelagem de dados. Isso é mais rápido do que usar a função DAX LOOKUPVALUE e torna seu modelo semântico mais fácil de entender hoje e no futuro.

Quando você cria relacionamentos entre as tabelas, pode usar a função RELATED. Na maior parte dos casos, a RELATED é mais simples e direta do que a LOOKUPVALUE.

A função RELATED é ideal quando você precisa buscar um valor em outra tabela que tem um relacionamento direto com a tabela de origem.

Por exemplo, se você quiser adicionar o nome do cliente à tabela de vendas e houver um relacionamento direto entre a tabela de vendas e a tabela de clientes em CustomerID, você pode usar:

Customer Name = RELATED(Customers[CustomerName])

No entanto, a `LOOKUPVALUE` é mais flexível do que a `RELATED` e é mais indicada quando você precisa fazer buscas sem um relacionamento direto existente no seu modelo ou quando precisa procurar valores com base em critérios múltiplos ou complexos. Ela é versátil, mas evite o uso excessivo para não impactar a performance.

combinando LOOKUPVALUE com outras funções DAX

Já vimos como combinar LOOKUPVALUE com COALESCE para fornecer um resultado alternativo quando nenhuma correspondência é encontrada.

Há outras funções DAX que funcionam muito bem com a LOOKUPVALUE, como CALCULATE e SWITCH.

Vamos ver alguns exemplos nesta seção.

LOOKUPVALUE & CALCULATE

Combinar a função LOOKUPVALUE com a função CALCULATE é útil em cenários em que você precisa recuperar valores de outra tabela com base em um contexto de cálculo ou filtro que não é acessível diretamente por um relacionamento simples ou uma busca direta.

Isso é comum para aplicar filtros ou mudar a granularidade dos cálculos. Ao combiná-la com a LOOKUPVALUE, você ajusta dinamicamente os critérios da sua busca com base nos resultados dos cálculos.

Exemplo: suponha que você tenha uma lista de produtos e suas metas de vendas para um ano específico em uma tabela. Para um determinado ID de produto, você quer buscar a meta de vendas do ano atual.

Veja como fazer isso combinando as funções CALCULATE e LOOKUPVALUE.

Product Sales Target = 
VAR SpecificProductID = 123
VAR CurrentYear = YEAR(TODAY())
RETURN
    CALCULATE(
        LOOKUPVALUE(
             SalesTargets[SalesTarget], 
             SalesTargets[ProductID], 
             SpecificProductID, 
             SalesTargets[Year], 
             CurrentYear
        ),
        ALL(SalesTargets)
    )

LOOKUPVALUE & SWITCH

Combinar a função LOOKUPVALUE com a função SWITCH funciona muito bem quando você precisa buscar valores dinamicamente em outra tabela e retornar resultados diferentes com base em múltiplas possibilidades.

Se você não conhece a função SWITCH, temos um tutorial que te guia em detalhes.

Exemplo: suponha que você tenha um conjunto de vendas e uma tabela separada de faixas de comissão. A taxa de comissão que um funcionário recebe é determinada pela sua faixa de vendas, que não está armazenada diretamente, mas pode ser calculada a partir do valor total vendido.

Você quer criar uma coluna calculada na tabela Sales que indique a taxa de comissão de cada venda com base na faixa.

Commission Rate = 
VAR SalesAmount = Sales[TotalSalesAmount]
VAR SalesTier = 
    SWITCH(
        TRUE(),
        SalesAmount <= 500, "Low",
        SalesAmount <= 2000, "Medium",
        "High"
    )
RETURN 
    LOOKUPVALUE(
        CommissionRates[CommissionRate],
        CommissionRates[SalesTier], 
        SalesTier
    )

Nesta expressão DAX, usamos a função SWITCH para definir a faixa de vendas e, em seguida, usamos esse resultado na LOOKUPVALUE para recuperar a taxa de comissão correspondente àquela faixa.

considerações de performance e boas práticas

1. use relacionamentos sempre que possível

É preferível usar relacionamentos diretos entre as tabelas sempre que possível. Relacionamentos são otimizados para performance no Power BI, e funções como RELATED costumam ser muito mais eficientes do que a LOOKUPVALUE.

Essa abordagem também aproveita as otimizações internas do Power BI, o que é importante se você quer reduzir o tempo de carregamento dos seus relatórios.

2. minimize o uso em colunas calculadas

Embora a LOOKUPVALUE possa ser usada em colunas calculadas, é melhor não exagerar. Colunas calculadas são computadas durante a atualização dos dados e podem deixar o processo mais lento, principalmente em conjuntos de dados grandes.

Considere usar a LOOKUPVALUE em medidas, onde os cálculos são executados em tempo de consulta e podem se beneficiar de otimizações do mecanismo de consulta.

3. trate resultados em branco com cuidado

A LOOKUPVALUE retorna em branco quando não encontra correspondência. Como vimos, é importante escolher a melhor forma de tratar isso nos seus relatórios. Você pode considerar o uso de funções como COALESCE ou o parâmetro de resultado alternativo da LOOKUPVALUE para fornecer valores padrão quando o retorno for em branco.

4. tipos de dados e diferenciação entre maiúsculas e minúsculas

Garanta que o valor de busca e a coluna pesquisada tenham tipos de dados compatíveis e esteja atento a diferenciação entre maiúsculas e minúsculas. Incompatibilidades de tipo ou de caixa podem gerar resultados inesperados ou erros na função LOOKUPVALUE.

conclusão

Em resumo, a LOOKUPVALUE amplia suas possibilidades na hora de localizar e recuperar valores em outras tabelas. Ela é especialmente poderosa quando combinada com outras funções DAX. Ainda assim, não substitui boas práticas de modelagem de dados, e a recomendação é sempre tentar definir relacionamentos entre as tabelas nos seus relatórios do Power BI primeiro.

Se você está pensando em seguir carreira como desenvolvedor Power BI, confira nosso guia passo a passo para se tornar um Power BI developer. E siga aprendendo ao explorar nossa trilha de carreira completa Data Analyst in Power BI, que ensina tudo o que você precisa para começar a usar o Power BI na prática.


Joleen Bothma's photo
Author
Joleen Bothma
LinkedIn
Tópicos
Power BI

Continue sua jornada no Power BI hoje mesmo!

Curso

Introdução ao DAX no Power BI

3 h
183.5K
Aprimore seu conhecimento em Power BI aprendendo os fundamentos de DAX, como colunas calculadas, tabelas e medidas.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

blog

Um guia de 8 passos para se tornar um desenvolvedor do Power BI em 2026

Torne-se um desenvolvedor do Power BI em 2026 com este roteiro completo.
Joleen Bothma's photo

Joleen Bothma

12 min

Tutorial

Como usar as funções SUMX do Power BI

Explore a função SUMX no Power BI, sua sintaxe, como ela funciona e as práticas recomendadas que você deve ter em mente.
Joleen Bothma's photo

Joleen Bothma

8 min

Tutorial

Como fazer um VLOOKUP() com vários critérios

Domine a arte de usar VLOOKUP() com vários critérios no Excel. Explore técnicas avançadas, como colunas auxiliares e a função CHOOSE().
Laiba Siddiqui's photo

Laiba Siddiqui

10 min

Tutorial

Tutorial do Power BI Calculate

Aprenda a usar a função CALCULATE do Power BI e dê exemplos de como você pode usá-la.
Joleen Bothma's photo

Joleen Bothma

6 min

Tutorial

Tutorial do Power BI para iniciantes

Aprenda os conceitos básicos do Power BI e como criar um relatório básico com este tutorial passo a passo.
DataCamp Team's photo

DataCamp Team

13 min

Tutorial

Painéis e relatórios do Power BI: Um guia abrangente

Explore as principais diferenças e os recursos exclusivos dos painéis e relatórios do Power BI. Saiba como aproveitar as duas ferramentas de forma eficaz para análise de dados, visualização e tomada de decisões.
Maarten Van den Broeck's photo

Maarten Van den Broeck

8 min

Ver MaisVer Mais