Compartilhar via


LOOKUPVALUE

aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual

Retorna o value da linha que atende all critérios especificados por uma or condições mais search.

Sintaxe

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

Parâmetros

Prazo Definição
result_columnName O nome de uma coluna existente que contains o value que você deseja retornar. Não pode ser uma expressão.
search_columnName O nome de uma coluna existente. Ele pode estar na mesma tabela que result_columnName or em uma tabela related. Não pode ser uma expressão. Vários pares de search_columnName and search_value podem ser especificados.
search_value O value para search em search_columnName. Vários pares de search_columnName and search_value podem ser especificados.
alternateResult (Opcional) O value retornado quando o contexto para result_columnName foi filtrado para zero or mais de um valuedistinto. If not especificada, a função retorna BLANK quando result_columnName é filtrada até zero valuesor um error quando há mais de um value distinto no contexto para result_columnName.

Retornar value

O value de result_columnName na linha onde all pares de search_columnNameandsearch_value têm uma correspondência exact.

If não há uma correspondência que satisfaça all o searchvalues, BLANKoralternateResult (if especificado) seja retornado. Em outras palavras, a função não retorna uma pesquisa valueif apenas alguns dos critérios correspondem.

If várias linhas correspondem à searchvaluesandvalues no result_columnName dessas linhas são idênticas e, em seguida, essa value é retornada. No entanto, ifresult_columnName retorna valuesdiferentes, um errororalternateResult (if especificado) é retornado.

Observações

  • If há uma relação entre a tabela que contains coluna de resultados and tabelas que contêm as colunas search, na maioria dos casos, usar a função RELATED em vez de LOOKUPVALUE é mais eficiente and fornece melhor desempenho.

  • Vários pares de search_columnNameandsearch_value podem ser especificados.

  • Os parâmetros search_valueandalternateResult são avaliados antes que a função itera pelas linhas da tabela search.

  • Evite usar funções ISERRORorIFERROR para capturar um error retornado por LOOKUPVALUE. If algumas entradas para a função resultam em um error quando não é possível determinar uma única saída value, fornecer um parâmetro alternateResult é a maneira mais confiável and de alto desempenho para lidar com o error.

  • O parâmetro alternateResult retorna um errorif especificado em uma coluna calculada Power Pivot.

  • Essa função not tem suporte para uso no modo DirectQuery quando usada em colunas calculadas or regras de RLS (segurança em nível de linha).

Exemplo 1

Neste exemplo, LOOKUPVALUE é usado para searchAverageRate para o currency usado para pagar o pedido no day o pedido foi feito:

Exchange Rate = 
LOOKUPVALUE (
    'Currency Rate'[Average Rate],
    'Currency Rate'[CurrencyKey], [CurrencyKey],
    'Currency Rate'[DateKey], [OrderDateKey]
)

Os DateandCurrency da Ordem são necessários para find o AverageRate para o dateandcurrencycorreto. OrderDateKey and CurrencyKey são as chaves usadas para pesquisar o AverageRate na tabela CurrencyRate.

Você pode usar o Exchange Rate para calculate o Valor de Vendas no currency local com:

Sales Amount Local Currency = [Sales Amount] * [Exchange Rate]

Exemplo 2

Neste exemplo, a coluna calculada a seguir definida na tabela Sales usa a função para retornar de canal da tabela do Sales Order.

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

No entanto, nesse caso, como há uma relação entre as tabelas Sales OrderandSales, é mais eficiente usar a função RELATED.

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

função RELATED (DAX)funções de informações