RICERCA

Si applica a:colonna calcolatatabella calcolata calcolo visivomisura

Restituisce il valore o valuta l'espressione dalla matrice visiva utilizzando lo spostamento assoluto. I filtri possono essere forniti per qualsiasi asse della matrice visiva. Tutti i filtri omessi vengono dedotti dal contesto. Se non è possibile determinare un singolo valore, viene restituito un errore.

Sintassi

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

Parametri

Termine Definizione
expression Espressione da valutare.
colref (Facoltativo) Colonna da filtrare.
expression (Facoltativo) Valore da filtrare.
AssociatedColumnsBehavior (Facoltativo) Specifica la modalità di gestione delle colonne associate. I valori consentiti sono EXPLICIT (impostazione predefinita) o INFERRED.

Valore restituito

Valore di expression dopo l'applicazione dei filtri.

Se non esiste una corrispondenza, viene restituito un errore.

Se più righe corrispondono ai filtri, viene restituito un errore.

Osservazioni:

Il parametro AssociatedColumnsBehavior controlla il modo in cui LOOKUP gestisce le colonne dell'asse determinate dal punto di vista funzionale dalle coordinate fornite:

  • EXPLICIT (impostazione predefinita): quando il parametro viene omesso o impostato su EXPLICIT, LOOKUP usa solo i filtri specificati in modo esplicito. Le colonne dell'asse non specificate vengono dedotte dal contesto corrente. Si tratta del comportamento LOOKUP originale.

  • INFERRED: se impostato su INFERRED, il motore identifica le colonne dell'asse determinate dal punto di vista funzionale dalle coordinate fornite e le riempie automaticamente prima di valutare la ricerca. Ad esempio, se si filtra per anno, trimestre e mese, il motore può dedurre colonne correlate, ad esempio il giorno o la settimana corrispondenti a tali coordinate.

Quando INFERRED viene specificato e si specifica un valore per una colonna che sarebbe stata dedotta, il valore fornito viene convalidato rispetto al valore dedotto. Se sono in conflitto, la chiamata restituisce BLANK, in modo analogo a come EXPLICIT restituisce BLANK quando si forniscono coordinate in conflitto.

Esempio 1

In questo esempio LOOKUP recupera la somma delle vendite per Bikes Category. Il primo argomento può essere una colonna o un'espressione scalare.

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

Lo screenshot seguente mostra la matrice con due calcoli visivi.

esempio di ricerca 1

Esempio 2

In questo esempio, il calcolo visivo LookupExample2 recupera la somma di Sales for Fiscal Year FY2018. Si noti che il filtro trimestre dalla riga verrà usato perché non viene specificato in modo esplicito, con conseguente mancata restituzione di risultati per FY2019 Q1 a FY2019 Q4 poiché la combinazione di FY2018 e FY2019 Q1 a FY2019 Q4 non esiste. LookupExample3 specifica in modo esplicito il trimestre in modo che non tenga conto del trimestre corrente nella riga.

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

esempio di ricerca 2

Esempio 3

In questo esempio viene illustrata la differenza tra EXPLICIT e INFERRED comportamento. Entrambi i calcoli visivi cercano la somma delle vendite per gennaio 2025 specificando le coordinate Year, Quarter e Month Name.

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)

Con EXPLICIT, la ricerca restituisce un valore solo nella riga in cui il contesto corrente corrisponde alle coordinate specificate (riga gennaio 2025). In tutte le altre righe, la ricerca restituisce BLANK perché il contesto della riga corrente è in conflitto con i filtri specificati.

Con INFERRED, il motore identifica automaticamente le colonne associate determinate dal punto di vista funzionale dalle coordinate Year, Quarter e Month Name. Poiché queste coordinate identificano in modo univoco un punto nel tempo, la ricerca restituisce il valore in tutte le righe della matrice.

Esempio di ricerca 3 che mostra il comportamento esplicito e dedotto