Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
s’applique à :
colonne calculée
table calculée
mesure
calcul visuel
Retourne la valeur de la ligne qui répond à tous les critères spécifiés par une ou plusieurs conditions de recherche.
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 contient la valeur à 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 ou dans une table associée. Il ne peut pas s’agir d’une expression. Vous pouvez spécifier plusieurs paires de search_columnName et de search_value. |
search_value |
Valeur à rechercher dans search_columnName. Vous pouvez spécifier plusieurs paires de search_columnName et de search_value. |
alternateResult |
(Facultatif) Valeur retournée lorsque le contexte de result_columnName est filtré jusqu’à zéro ou plusieurs valeurs distinctes. Si elle n’est pas spécifiée, la fonction retourne BLANK quand result_columnName est filtrée jusqu’à zéro valeur ou une erreur lorsque le contexte de result_columnName a plusieurs valeurs distinctes. |
Valeur de retour
La valeur de result_columnName à la ligne où toutes les paires de search_columnName et search_value ont une correspondance exacte.
Si aucune correspondance ne satisfait à toutes les valeurs de recherche, la fonction retourne BLANK ou alternateResult (si spécifiée). En d’autres termes, la fonction ne retourne pas de valeur de recherche si seuls certains critères correspondent.
Si plusieurs lignes correspondent aux valeurs de recherche et aux valeurs de result_columnName ces lignes sont identiques, cette valeur est retournée. Toutefois, si result_columnName elle retourne des valeurs différentes, la fonction renvoie une erreur ou alternateResult (si elle est spécifiée).
Remarques
Si une relation existe entre la table qui contient la colonne de résultat et les tables qui contiennent les colonnes de recherche, dans la plupart des cas, l’utilisation de la RELATED fonction au lieu d’être LOOKUPVALUE plus efficace et offre de meilleures performances.
Vous pouvez spécifier plusieurs paires de
search_columnNameetsearch_value.Les paramètres
search_valueetalternateResultsont évalués avant que la fonction effectue une itération dans les lignes de la table de recherche.Évitez d’utiliser ISERROR ou IFERROR de capturer une erreur retournée par LOOKUPVALUE. Si certaines entrées de la fonction entraînent une erreur lorsqu’une valeur de sortie unique ne peut pas être déterminée, la fourniture d’un
alternateResultparamètre est le moyen le plus fiable et le plus performant de gérer l’erreur.Le paramètre
alternateResultretourne une erreur si elle est spécifiée dans une colonne calculée Power Pivot.-
Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées ou les règles de sécurité au niveau des lignes (RLS).
Les exemples de cet article peuvent être utilisés avec l’exemple de modèle Adventure Works DW 2020 Power BI Desktop. Pour obtenir le modèle, consultez DAX exemple de modèle.
Exemple 1
Dans cet exemple, LOOKUPVALUE recherche le taux moyen de la devise utilisée pour payer la commande le jour où la commande a été passée :
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
Vous avez besoin de la date de commande et de la devise pour trouver le taux moyen pour la date et la devise correctes. OrderDateKey et CurrencyKey sont les clés utilisées pour rechercher le taux moyen dans la table Taux monétaire.
Vous pouvez utiliser le taux de change pour calculer le montant des ventes en devise locale 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 utilise la fonction LOOKUPVALUE pour retourner des valeurs de canal à partir de la table Sales Order.
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey], [SalesOrderLineKey]
)
Toutefois, dans ce cas, étant donné qu’une relation existe entre les tables Sales Order et Sales , il est plus efficace d’utiliser la RELATED fonction.
CHANNEL =
RELATED ( 'Sales Order'[Channel] )
Contenu connexe
- RELATED fonction (DAX)
- fonctions d’informations