LOOKUPVALUE
Si applica a:colonna calcolatatabella calcolataMeasurecalcolo visivo
Restituisce il value per la riga che soddisfa i criteri all specificati da una or più condizioni search.
Sintassi
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
Parametri
Termine | Definizione |
---|---|
result_columnName |
Nome di una colonna esistente che contains il value da restituire. Non può essere un'espressione. |
search_columnName |
Nome di una colonna esistente. Può trovarsi nella stessa tabella di result_columnName or in una tabella related. Non può essere un'espressione. È possibile specificare più coppie di search_columnName and search_value. |
search_value |
value da search in search_columnName. È possibile specificare più coppie di search_columnName and search_value. |
alternateResult |
(Facoltativo) Il value restituito quando il contesto per result_columnName è stato filtrato fino a zero or più di un valuedistinto. If not specificata, la funzione restituisce BLANK quando result_columnName viene filtrato fino a zero valuesor un error quando sono presenti più value distinct nel contesto per result_columnName. |
Restituisce value
Il value di result_columnName
nella riga in cui all coppie di search_columnName
andsearch_value
hanno una corrispondenza exact.
If non esiste una corrispondenza che soddisfa all viene restituita la searchvalues, BLANKoralternateResult
(if specificata). In altre parole, la funzione non restituisce una ricerca valueif solo alcuni dei criteri corrispondenti.
If più righe corrispondono al searchvaluesand il values nella result_columnName
per queste righe sono identiche, quindi viene restituito value. Tuttavia, ifresult_columnName
restituisce valuesdiverso, viene restituito un errororalternateResult
(if specificato).
Osservazioni
If esiste una relazione tra la tabella che contains la colonna dei risultati and tabelle che contengono le colonne search, nella maggior parte dei casi, l'uso della funzione RELATED anziché LOOKUPVALUE è più efficiente and offre prestazioni migliori.
È possibile specificare più coppie di
search_columnName
andsearch_value
.I parametri
search_value
andalternateResult
vengono valutati prima che la funzione eselabori le righe della tabella search.Evitare di usare funzioni di ISERRORorIFERROR per acquisire un error restituito da LOOKUPVALUE. If alcuni input alla funzione generano un error quando non è possibile determinare un singolo output value, specificando un parametro
alternateResult
è il modo più affidabile and di prestazioni più elevato per gestire il error.Il parametro
alternateResult
restituisce un errorif specificato in una colonna calcolata Power Pivot.Questa funzione è not supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate or regole di sicurezza a livello di riga.
Esempio 1
In questo esempio, LOOKUPVALUE viene utilizzato per searchAverageRate per il currency utilizzato per pagare l'ordine sul day è stato effettuato l'ordine:
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
Entrambi i DateandCurrency order sono necessari per find il AverageRate per il dateandcurrencycorretto. OrderDateKey and CurrencyKey sono le chiavi usate per cercare il AverageRate nella tabella CurrencyRate.
È possibile utilizzare l'Rate di Exchange per calculate importo vendite in currency locale con:
Sales Amount Local Currency = [Sales Amount] * [Exchange Rate]
Esempio 2
In questo esempio, la colonna calcolata seguente definita nella tabella
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey],
[SalesOrderLineKey]
)
Tuttavia, in questo caso, poiché esiste una relazione tra le tabelle Sales OrderandSales, è più efficiente usare la funzione RELATED.
CHANNEL = RELATED('Sales Order'[Channel])
Related contenuto
funzione RELATED (DAX)Funzioni informazioni