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_columnName
andsearch_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_columnName
andsearch_value
podem ser especificados.Os parâmetros
search_value
andalternateResult
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
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])