PESQUISA

Aplica-se a:Coluna calculadaTabela calculadaMedidaCálculo visual

Retorna o valor ou avalia a expressão da matriz visual usando navegação absoluta. Os filtros podem ser fornecidos para qualquer eixo na matriz visual. Todos os filtros omitidos são inferidos a partir do contexto. Se nenhum valor único puder ser determinado, um erro será retornado.

Sintaxe

LOOKUP(<expression>, <colref>, <expression>[, <colref>, <expression>]...[, <AssociatedColumnsBehavior>])

Parâmetros

Período Definição
expression A expressão a avaliar.
colref (Opcional) A coluna a ser filtrada.
expression (Opcional) O valor a filtrar.
AssociatedColumnsBehavior (Opcional) Especifica como as colunas associadas são tratadas. Os valores permitidos são EXPLICIT (por defeito) ou INFERRED.

Valor de retorno

O valor da expressão após a aplicação dos filtros.

Se não houver uma correspondência, um erro será retornado.

Se várias linhas corresponderem aos filtros, um erro será retornado.

Remarks

O parâmetro AssociatedColumnsBehavior controla como o LOOKUP lida com colunas de eixo que são funcionalmente determinadas pelas coordenadas fornecidas:

  • EXPLÍCITO (predefinido): Quando o parâmetro é omitido ou definido para EXPLICIT, o LOOKUP utiliza apenas os filtros que forneces explicitamente. Colunas de eixo não especificadas são inferidas a partir do contexto atual. Este é o comportamento original de PESQUISA.

  • INFERIDO: Quando definido para INFERRED, o motor identifica quais as colunas do eixo que são funcionalmente determinadas pelas coordenadas fornecidas e preenche-as automaticamente antes de avaliar a pesquisa. Por exemplo, se filtrar por Ano, Trimestre e Mês, o motor pode inferir colunas relacionadas, como o dia ou a semana, que correspondem a essas coordenadas.

Quando INFERRED é especificado e fornece um valor para uma coluna que teria sido inferido, o valor fornecido é validado em relação ao valor inferido. Se entrarem em conflito, a chamada retorna BLANK, semelhante a como EXPLICIT retorna BLANK quando fornece coordenadas conflitantes.

Exemplo 1

Neste exemplo, PROC recupera a soma das vendas para Categoria de bicicletas. O primeiro argumento pode ser uma coluna ou uma expressão escalar.

Lookup Example 1 = LOOKUP(SUM([Sales Amount]),  [Category], "Bikes")
Lookup Example 2 = LOOKUP([Sales Amount], [Category], "Bikes")

A captura de tela abaixo mostra a matriz com dois cálculos visuais.

exemplo de pesquisa 1

Exemplo 2

Neste exemplo, o cálculo visual LookupExample2 recupera a soma de Vendas do Ano Fiscal do ano fiscal de 2018. Observe que o filtro de trimestre da linha será usado, uma vez que não foi especificado explicitamente, resultando em nenhum resultado sendo retornado para o 1º trimestre do ano fiscal de 2019 para o 4º trimestre do exercício de 2019 , uma vez que a combinação do 1º trimestre do exercício de 2018 e do ano fiscal de 2019 com o 4º trimestre do exercício de 2019 não existe. LookupExample3 especifica explicitamente o trimestre, portanto, não leva em conta o trimestre atual na linha.

LookupExample2 = LOOKUP([Sales Amount], [Fiscal Year], "FY2018")
LookupExample3 = LOOKUP([Sales Amount], [Fiscal Year], "FY2018", [Fiscal Quarter], "FY2018 Q1")

exemplo de pesquisa 2

Exemplo 3

Este exemplo demonstra a diferença entre EXPLICIT e INFERRED comportamento. Ambos os cálculos visuais analisam a soma das vendas de janeiro de 2025, especificando coordenadas do Ano, Trimestre e Nome do Mês.

Jan 2025 Sales (Explicit) = LOOKUP([Sum of Sales], [Year], 2025, [Quarter], "Q1", [Month Name], "January", EXPLICIT)
Jan 2025 Sales (Inferred) = LOOKUP([Sum of Sales], [Year], 2025, [Quarter], "Q1", [Month Name], "January", INFERRED)

Com , a consulta retorna um valor apenas na linha onde o contexto atual corresponde EXPLICITàs coordenadas especificadas (a linha de janeiro de 2025). Em todas as outras linhas, a consulta retorna BLANK porque o contexto da linha atual entra em conflito com os filtros especificados.

Com INFERRED, o motor identifica automaticamente colunas associadas que são funcionalmente determinadas pelas coordenadas Ano, Trimestre e Nome do Mês. Como estas coordenadas identificam de forma única um ponto no tempo, a consulta devolve o valor em todas as linhas da matriz.

Exemplo de pesquisa 3 mostrando comportamento explícito vs inferido