LOOKUPVALUE

Devolve o valor da linha que cumpre todos os critérios especificados por uma ou mais condições de pesquisa.

Sintaxe

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

Parâmetros

Termo Definição
result_columnName O nome de uma coluna existente que contém o valor que pretende devolver. Não pode ser uma expressão.
search_columnName O nome de uma coluna existente. Pode estar na mesma tabela que result_columnName ou numa tabela relacionada. Não pode ser uma expressão.
search_value O valor a procurar em search_columnName.
alternateResult (Opcional) O valor devolvido quando o contexto para result_columnName foi filtrado para zero ou mais do que um valor distinto. Se não for fornecido, a função devolve BLANK quando result_columnName é filtrado para um valor zero ou um erro quando existe mais do que um valor distinto.

Valor devolvido

O valor de result_column na linha em que todos os pares de search_column e search_value têm uma correspondência exata.

Se não existir uma correspondência que satisfaça todos os valores de pesquisa, será devolvido BLANK ou alternateResult, se for fornecido. Por outras palavras, a função não irá devolver um valor de pesquisa se apenas alguns dos critérios corresponderem.

Se múltiplas linhas corresponderem aos valores de pesquisa e os valores result_column forem idênticos, será devolvido esse valor. No entanto, se result_column devolver valores diferentes, será devolvido um erro ou alternateResult, se for fornecido.

Observações

  • Se existir uma relação entre o resultado e as tabelas de pesquisa, na maioria dos casos, a função RELATED é mais eficiente do que a função LOOKUPVALUE e fornece um melhor desempenho.

  • Os parâmetros search_value e alternateResult são avaliados antes que a função itere as linhas da tabela de pesquisa.

  • Evite utilizar funções ISERROR ou IFERROR para capturar um erro devolvido pela LOOKUPVALUE. Se algumas entradas para a função resultarem num erro quando um único valor de saída não puder ser determinado, desde que um parâmetro alternativoResult seja a forma mais fiável e de maior desempenho para lidar com o erro.

  • Esta função não é suportada para ser utilizada no modo DirectQuery quando é utilizada em colunas calculadas ou regras de segurança ao nível d alinha (RLS).

Exemplo

Exemplos deste artigo podem ser adicionados ao modelo de amostra Power BI Desktop. Para obter o modelo, consulte o modelo de amostra DAX.

A seguinte coluna calculada, definida na tabela Sales, utiliza a função LOOKUPVALUE para devolver valores de canal da tabela Sales Order.

CHANNEL = LOOKUPVALUE('Sales Order'[Channel],'Sales Order'[SalesOrderLineKey],[SalesOrderLineKey])

No entanto, neste caso, como existe uma relação entre as tabelas Sales Order e Sales, é mais eficiente utilizar a função RELATED.

CHANNEL = RELATED('Sales Order'[Channel])

Ver também

Função RELATED (DAX)
Funções informativas