Vai al contenuto principale

Guida completa a DAX LOOKUPVALUE

Padroneggia la funzione LOOKUPVALUE in Power BI con esempi semplici e combinazioni avanzate con altre funzioni DAX.
Aggiornato 29 set 2026  · 9 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

LOOKUPVALUE è una utile funzione DAX per trovare e recuperare valori in altre tabelle.

Pur non sostituendo le buone pratiche di modellazione dei dati nei tuoi report Power BI, LOOKUPVALUE offre molta flessibilità quando scrivi espressioni complesse con più condizioni, soprattutto se vuoi combinarla con altre funzioni DAX.

In questo tutorial, ti guideremo attraverso le basi della funzione LOOKUPVALUE, come funziona, come usarla (soprattutto in combinazione con altre funzioni DAX) e alcune considerazioni sulle prestazioni e buone pratiche da seguire quando utilizzi LOOKUPVALUE nei tuoi report Power BI.

LOOKUPVALUE in Power BI è molto simile a VLOOKUP in Microsoft Excel. Tuttavia, è una buona idea familiarizzare con DAX e Power BI prima di affrontare LOOKUPVALUE. Il nostro skill track sui fondamenti di Power BI può metterti rapidamente al passo, e il nostro cheat sheet di DAX è un ottimo riferimento da tenere a portata di mano mentre lavori con le funzioni DAX.

Power BI DAX Cheat Sheet

Le basi di LOOKUPVALUE

Con la funzione LOOKUPVALUE, possiamo recuperare un singolo valore da una colonna in un’altra tabella in base a una o più condizioni di ricerca.

Ecco la sintassi standard:

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

Se sei ancora alle prime armi con DAX e la sintassi, dai un’occhiata al nostro corso Introduzione a DAX o leggi rapidamente il nostro tutorial DAX per principianti assoluti. Puoi anche approfondire le tue conoscenze DAX con il nostro corso DAX intermedio.

Vediamo più nel dettaglio i parametri di LOOKUPVALUE:

  • result_column: È la colonna che vuoi recuperare dalla tabella di destinazione.
  • search_column1: È la colonna nella tabella di destinazione che contiene i criteri che vuoi far corrispondere.
  • search_value1: È il valore da cercare in search_column1. Può essere un valore fisso, come del testo, oppure il risultato di un’espressione (come min o max), o può essere una colonna nella tabella di origine su cui LOOKUPVALUE deve eseguire il confronto.
  • [search_column2, search_value2, ...]: Queste sono coppie opzionali aggiuntive di colonne e valori di ricerca. Puoi specificare più coppie per creare condizioni di ricerca più complesse.
  • [alternateResult]: È il risultato predefinito o alternativo. Se LOOKUPVALUE non trova una corrispondenza adatta, restituirà questo valore.

Ogni volta che LOOKUPVALUE esegue una ricerca nella tabella di destinazione, dovrebbe trovare una sola corrispondenza. Se ci sono più possibili corrispondenze, dovresti definire ulteriori coppie di ricerca finché LOOKUPVALUE non è in grado di trovare una corrispondenza univoca.

Per chiarezza, ne discuteremo un esempio nella prossima sezione.

Esempi semplici di LOOKUPVALUE

Utilizzo di base

Poniamo di avere una tabella dei prodotti con le colonne ProductID e ProductName. Vuoi trovare il nome del prodotto con ID 101.

Product_Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], 101)

Condizioni di ricerca multiple

In questo caso, supponiamo di avere una tabella Sales con le colonne ProductID, Region e Revenue. Vuoi trovare il ricavo per un prodotto specifico (ID 101) in una certa area (East).

Product_Revenue = LOOKUPVALUE(Sales[Revenue], Sales[ProductID], 101, Sales[Region], "East")

Gestione dei valori vuoti

Nei casi in cui le condizioni di ricerca non restituiscono alcuna corrispondenza, LOOKUPVALUE restituisce vuoto.

Ecco due metodi per gestire questi valori vuoti:

  • Usare il parametro del risultato alternativo di LOOKUPVALUE.
  • Usare la funzione COALESCE per specificare un risultato alternativo se LOOKUPVALUE restituisce un valore vuoto.

Metodo 1: Risultato alternativo

Puoi specificare un valore predefinito o un risultato alternativo nella funzione LOOKUPVALUE. È un parametro opzionale che si colloca alla fine dell’espressione LOOKUPVALUE.

Product_Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], 101, "Not Found")

Metodo 2: COALESCE

In alternativa, puoi usare la funzione COALESCE, che funziona quasi esattamente come specificare un risultato alternativo nella funzione LOOKUPVALUE.

Tuttavia, a seconda del caso d’uso e del dataset, COALESCE potrebbe essere più performante. Se velocità e prestazioni sono importanti per il tuo report Power BI, vale la pena prendere in considerazione COALESCE.

Commission Rate = 
COALESCE( 
     LOOKUPVALUE(
          'CommissionRates'[Rate],
          'CommissionRates'[SalespersonID], SELECTEDVALUE('Sales'[SalespersonID])
     ), 
     0.05 
)

Definire relazioni tra le tue tabelle è sempre una buona pratica di modellazione dei dati. È più veloce che usare la funzione DAX LOOKUPVALUE e rende il tuo modello semantico più facile da capire, sia ora che in futuro.

Quando crei relazioni tra le tabelle, puoi usare la funzione RELATED. Nella maggior parte dei casi, la funzione RELATED è più semplice e diretta di LOOKUPVALUE.

La funzione RELATED è ideale quando devi recuperare un valore da un’altra tabella che ha una relazione diretta con la tua tabella di origine.

Per esempio, se vuoi aggiungere il nome del cliente alla tabella delle vendite e c’è una relazione diretta tra la tabella delle vendite e la tabella dei clienti su CustomerID, puoi usare:

Customer Name = RELATED(Customers[CustomerName])

Tuttavia, `LOOKUPVALUE` è più flessibile di `RELATED` ed è ideale quando devi eseguire ricerche senza una relazione diretta esistente nel tuo modello o devi cercare valori in base a criteri complessi o multipli. È versatile, ma fai attenzione a non abusarne perché può avere impatti sulle prestazioni.

Combinare LOOKUPVALUE con altre funzioni DAX

Abbiamo già visto come puoi combinare LOOKUPVALUE con COALESCE per fornire un risultato alternativo quando non viene trovata alcuna corrispondenza.

Ci sono altre funzioni DAX che si abbinano bene a LOOKUPVALUE, come le funzioni CALCULATE e SWITCH.

In questa sezione vedremo alcuni esempi.

LOOKUPVALUE & CALCULATE

Combinare la funzione LOOKUPVALUE con la funzione CALCULATE è utile in scenari in cui devi recuperare valori da un’altra tabella in base a un contesto di calcolo o filtro che non è direttamente accessibile tramite una semplice relazione o una ricerca lineare.

È spesso usata per applicare filtri o cambiare la granularità dei calcoli. Quando la combini con LOOKUPVALUE, puoi regolare dinamicamente i criteri della ricerca in base ai risultati dei calcoli.

Ecco un esempio: supponiamo di avere un elenco di prodotti e i loro obiettivi di vendita per un anno specifico in una tabella. Per un determinato ID prodotto, vuoi recuperare il suo obiettivo di vendita per l’anno corrente.

Vediamo come potresti farlo combinando le funzioni CALCULATE e LOOKUPVALUE.

Product Sales Target = 
VAR SpecificProductID = 123
VAR CurrentYear = YEAR(TODAY())
RETURN
    CALCULATE(
        LOOKUPVALUE(
             SalesTargets[SalesTarget], 
             SalesTargets[ProductID], 
             SpecificProductID, 
             SalesTargets[Year], 
             CurrentYear
        ),
        ALL(SalesTargets)
    )

LOOKUPVALUE & SWITCH

Combinare la funzione LOOKUPVALUE con la funzione SWITCH è utile quando devi cercare dinamicamente valori da un’altra tabella e restituire risultati diversi in base a più potenziali corrispondenze.

Se non conosci la funzione SWITCH, abbiamo un tutorial che ti guiderà passo passo.

Ecco un esempio: supponiamo di avere un dataset di vendite e una tabella separata con le aliquote di commissione. L’aliquota di commissione che un dipendente riceve è determinata dal suo livello di vendite, che non è memorizzato direttamente ma può essere calcolato dall’importo totale delle vendite.

Vuoi creare una colonna calcolata nella tabella Sales che indichi l’aliquota di commissione per ciascuna vendita in base al livello di vendite.

Commission Rate = 
VAR SalesAmount = Sales[TotalSalesAmount]
VAR SalesTier = 
    SWITCH(
        TRUE(),
        SalesAmount <= 500, "Low",
        SalesAmount <= 2000, "Medium",
        "High"
    )
RETURN 
    LOOKUPVALUE(
        CommissionRates[CommissionRate],
        CommissionRates[SalesTier], 
        SalesTier
    )

In questa espressione DAX, usiamo la funzione SWITCH per definire il livello di vendite e poi usiamo questo risultato in LOOKUPVALUE per recuperare l’aliquota di commissione corrispondente a quel livello.

Considerazioni sulle prestazioni e buone pratiche

1. Usa le relazioni quando possibile

È preferibile usare relazioni dirette tra le tabelle quando possibile. Le relazioni sono ottimizzate per le prestazioni in Power BI e funzioni come RELATED sono spesso molto più efficienti di LOOKUPVALUE.

Questo approccio sfrutta anche le ottimizzazioni interne di Power BI, importante se vuoi ridurre i tempi di caricamento dei report.

2. Minimizza l’uso nelle colonne calcolate

Sebbene LOOKUPVALUE possa essere usata nelle colonne calcolate, in generale è meglio non esagerare. Le colonne calcolate vengono calcolate durante l’aggiornamento dei dati e possono rallentare il processo, soprattutto con dataset di grandi dimensioni.

Valuta di usare LOOKUPVALUE nelle misure, dove i calcoli vengono eseguiti al momento della query e possono beneficiare delle ottimizzazioni della query.

3. Gestisci con cura i risultati vuoti

LOOKUPVALUE restituisce un risultato vuoto se non trova corrispondenze. Come discusso in precedenza, è importante scegliere il metodo giusto per gestirlo nei tuoi report. Puoi considerare l’uso di una funzione come COALESCE o del parametro opzionale di risultato alternativo di LOOKUPVALUE per fornire valori predefiniti quando LOOKUPVALUE restituisce vuoto.

4. Tipi di dati e distinzione tra maiuscole e minuscole

Assicurati che il valore di ricerca e la colonna cercata abbiano tipi di dati corrispondenti, e fai attenzione alla distinzione tra maiuscole e minuscole. Incongruenze nei tipi di dati o nel caso possono portare a risultati inattesi o errori nella funzione LOOKUPVALUE.

Conclusione

In sintesi, LOOKUPVALUE ti offre molte più opzioni per trovare e recuperare valori da altre tabelle. È particolarmente potente se la combini con altre funzioni DAX. Tuttavia, non sostituisce le buone pratiche di modellazione dei dati, e si raccomanda di provare prima a definire relazioni tra le tabelle nei tuoi report Power BI.

Se stai pensando di intraprendere una carriera come sviluppatore Power BI, dai un’occhiata alla nostra guida passo passo per diventare sviluppatore Power BI. Ti invitiamo a proseguire l’apprendimento di Power BI esplorando il nostro percorso professionale completo Data Analyst in Power BI, che ti insegnerà tutto ciò che ti serve per iniziare a usare Power BI nella pratica.


Joleen Bothma's photo
Author
Joleen Bothma
LinkedIn
Argomenti
Power BI

Continua oggi il tuo percorso con Power BI!

{count, plural, one {Corso} other {Corsi}}

Introduzione a DAX in Power BI

{hours} ore
186.5K
Migliora le tue conoscenze di Power BI imparando i fondamenti delle Data Analysis Expressions, tra cui colonne calcolate, tabelle e misure.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

{count, plural, one {blog} other {blogs}}

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

{count, plural, one {blog} other {blogs}}

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

{count, plural, one {blog} other {blogs}}

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro