Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Restituisce il valore per la riga che soddisfa tutti i criteri specificati da una o più condizioni di ricerca.
Sintassi
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
Parametri
| Termine | Definizione |
|---|---|
result_columnName |
Nome di una colonna esistente che contiene il valore che si desidera restituire. Non può essere un'espressione. |
search_columnName |
Nome di una colonna esistente. Può trovarsi nella stessa tabella di result_columnName o in una tabella correlata. Non può essere un'espressione. È possibile specificare più coppie di search_columnName e search_value. |
search_value |
Valore da cercare in search_columnName. È possibile specificare più coppie di search_columnName e search_value. |
alternateResult |
(Facoltativo) Valore restituito quando il contesto per result_columnName viene filtrato fino a zero o più valori distinti. Se non specificato, la funzione restituisce BLANK quando result_columnName viene filtrata fino a zero valori o un errore quando il contesto per result_columnName ha più di un valore distinto. |
Valore restituito
Valore di result_columnName nella riga in cui tutte le coppie di search_columnName e search_value hanno una corrispondenza esatta.
Se nessuna corrispondenza soddisfa tutti i valori di ricerca, la funzione restituisce BLANK o alternateResult (se specificato). In altre parole, la funzione non restituisce un valore di ricerca se solo alcuni dei criteri corrispondono.
Se più righe corrispondono ai valori di ricerca e i valori in result_columnName per queste righe sono identici, viene restituito tale valore. Tuttavia, se result_columnName restituisce valori diversi, la funzione restituisce un errore o alternateResult (se specificato).
Osservazioni
Se esiste una relazione tra la tabella che contiene la colonna dei risultati e le tabelle che contengono le colonne di ricerca, nella maggior parte dei casi, l'uso della RELATED funzione anziché LOOKUPVALUE è più efficiente e offre prestazioni migliori.
È possibile specificare più coppie di
search_columnNameesearch_value.I parametri
search_valueealternateResultvengono valutati prima che la funzione eselabori le righe della tabella di ricerca.Evitare di usare ISERROR o IFERROR per acquisire un errore restituito da LOOKUPVALUE. Se alcuni input per la funzione generano un errore quando non è possibile determinare un singolo valore di output, specificando un
alternateResultparametro è il modo più affidabile e con le prestazioni più elevate per gestire l'errore.Il parametro
alternateResultrestituisce un errore se specificato in una colonna calcolata di Power Pivot.-
Questa funzione non è supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate o nelle regole di sicurezza a livello di riga.
Gli esempi in questo articolo possono essere usati con il modello adventure works DW 2020 di Power BI Desktop di esempio. Per ottenere il modello, vedere DAX modello di esempio.
Esempio 1
In questo esempio, LOOKUPVALUE cerca la valuta usata per pagare l'ordine nel giorno in cui è stato effettuato l'ordine:
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
Hai bisogno sia della data dell'ordine che della valuta per trovare il tasso medio per la data e la valuta corretti. OrderDateKey e CurrencyKey sono le chiavi usate per cercare il Tasso medio nella tabella Valuta.
È possibile utilizzare il tasso di cambio per calcolare l'importo delle vendite nella valuta locale con:
Sales Amount Local Currency =
[Sales Amount] * [Exchange Rate]
Esempio 2
In questo esempio, la colonna calcolata seguente definita nella tabella Sales usa la funzione LOOKUPVALUE per restituire i valori del canale dalla tabella Sales Order.
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey], [SalesOrderLineKey]
)
Tuttavia, in questo caso, poiché esiste una relazione tra le tabelle Sales Order e Sales , è più efficiente usare la RELATED funzione .
CHANNEL =
RELATED ( 'Sales Order'[Channel] )
Contenuto correlato
- funzione RELATED (DAX)
- funzioni informazioni