LOOKUPVALUE
s’applique à :colonne calculéetable calculéeMeasurecalcul visuel
Retourne la value de la ligne qui répond aux critères all spécifiés par une or conditions de search plus.
Syntaxe
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
Paramètres
Terme | Définition |
---|---|
result_columnName |
Nom d’une colonne existante qui contains l'value à retourner. Il ne peut pas s’agir d’une expression. |
search_columnName |
Nom d’une colonne existante. Il peut se trouver dans la même table que result_columnName or dans une table related. Il ne peut pas s’agir d’une expression. Plusieurs paires de search_columnName and search_value peuvent être spécifiées. |
search_value |
value à search dans search_columnName. Plusieurs paires de search_columnName and search_value peuvent être spécifiées. |
alternateResult |
(Facultatif) La value retournée lorsque le contexte de result_columnName a été filtré jusqu’à zéro or plusieurs valuedistincts. If not spécifié, la fonction retourne BLANK lorsque result_columnName est filtrée jusqu’à zéro valuesor un error lorsqu’il existe plusieurs value distincts dans le contexte de result_columnName. |
Retourner value
Le value de result_columnName
à la ligne où all paires de search_columnName
andsearch_value
ont une correspondance exact.
If il n’existe pas de correspondance qui satisfait all l'searchvalues, BLANKoralternateResult
(if spécifié) est retournée. En d’autres termes, la fonction ne retourne pas de recherche valueif seulement une partie des critères correspondant.
If plusieurs lignes correspondent à la searchvaluesand l'values dans la result_columnName
pour ces lignes sont identiques, puis que value est retournée. Toutefois, ifresult_columnName
retourne des valuesdifférentes, un errororalternateResult
(if spécifié) est retourné.
Remarques
If il existe une relation entre la table qui contains la colonne de résultat and tables qui contiennent les colonnes search, dans la plupart des cas, l’utilisation de la fonction RELATED au lieu de LOOKUPVALUE est plus efficace and offre de meilleures performances.
Plusieurs paires de
search_columnName
andsearch_value
peuvent être spécifiées.Les paramètres
search_value
andalternateResult
sont évalués avant que la fonction itère dans les lignes de la table search.Évitez d’utiliser des fonctions ISERRORorIFERROR pour capturer une error retournée par LOOKUPVALUE. If certaines entrées de la fonction entraînent un error lorsqu’une seule sortie value ne peut pas être déterminée, en fournissant un paramètre
alternateResult
est le moyen le plus fiable and le plus performant de gérer le error.Le paramètre
alternateResult
retourne une errorif spécifiée dans une colonne calculée Power Pivot.Cette fonction est not prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées or règles de sécurité au niveau des lignes (RLS).
Exemple 1
Dans cet exemple, LOOKUPVALUE est utilisé pour searchAverageRate pour le currency utilisé pour payer la commande sur le day la commande a été passée :
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
Les deux DateandCurrency de commande doivent find l'AverageRate pour la dateandcurrencycorrecte. OrderDateKey and CurrencyKey sont les clés utilisées pour rechercher la AverageRate dans la table CurrencyRate.
Vous pouvez utiliser l'Rate Exchange pour calculate le montant des ventes dans currency local avec :
Sales Amount Local Currency = [Sales Amount] * [Exchange Rate]
Exemple 2
Dans cet exemple, la colonne calculée suivante définie dans la table Sales
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey],
[SalesOrderLineKey]
)
Toutefois, dans ce cas, étant donné qu’il existe une relation entre les tables Sales OrderandSales, il est plus efficace d’utiliser la fonction RELATED.
CHANNEL = RELATED('Sales Order'[Channel])
contenu Related
fonction RELATED (DAX)Fonctions d’information