Partage via


Fonctions du Générateur de rapports - Fonction Lookup dans un rapport paginé (Générateur de rapports)

S’applique à : Générateur de rapports Microsoft (SSRS) Power BI Report Builder Report Designer dans SQL Server Data Tools

Lookup retourne la première valeur correspondante pour le nom spécifié d’un dataset contenant des paires nom/valeur dans un rapport paginé.

Remarque

Il est possible de créer et de modifier des fichiers de définition de rapports (.rdl) paginés dans le Générateur de rapports Microsoft, dans Power BI Report Builder et dans le Concepteur de rapports de SQL Server Data Tools.

Syntaxe

Lookup(source_expression, destination_expression, result_expression, dataset)  

Paramètres

Paramètre Définition
source_expression (Variant) Expression qui évalue l’étendue actuelle et qui spécifie le nom ou la clé à rechercher. Par exemple : =Fields!ProdID.Value.
destination_expression (Variant) Expression qui évalue chaque ligne d’un dataset et qui spécifie le nom ou la clé de correspondance. Par exemple : =Fields!ProductID.Value.
result_expression (Variant) Expression qui évalue la ligne du dataset où source_expression = destination_expression et qui spécifie la valeur à récupérer. Par exemple : =Fields!ProductName.Value.
dataset Constante qui spécifie le nom d'un dataset dans le rapport. « Products » peut être un exemple de dataset que vous utilisez.

Retour

Lookup retourne une valeur Variant, ou Nothing si aucune correspondance n’est trouvée.

Notes

Utilisez Lookup pour récupérer la valeur du dataset spécifié pour une paire nom/valeur où il y a une relation un-à-un. Par exemple, pour un champ d’ID dans une table, vous pouvez utiliser Lookup pour récupérer le champ Nom correspondant d’un dataset qui n’est pas lié à la région de données.

La fonctionLookup effectue les actions suivantes :

  • Évalue l'expression source dans l'étendue actuelle.

  • Évalue l’expression de destination pour chaque ligne du dataset spécifié après avoir appliqué les filtres, en fonction du classement du dataset spécifié.

  • Pour la première correspondance des expressions source et de destination, évalue l'expression de résultat pour cette ligne dans le dataset.

  • Renvoie la valeur d'expression de résultat.

Pour récupérer plusieurs valeurs pour un seul champ de nom ou de clé dans lequel une relation un-à-plusieurs existe, utilisez Fonctions du Générateur de rapports – Fonction LookupSet dans un rapport paginé (Générateur de rapports). Pour appeler Lookup pour un ensemble de valeurs, utilisez Fonctions du Générateur de rapports – Fonction Multilookup dans un rapport paginé (Générateur de rapports).

Les restrictions suivantes s’appliquent :

  • Lookup est évalué après que toutes les expressions de filtre ont été appliquées.

  • Un seul niveau de recherche est pris en charge. Une expression source, de destination ou de résultat ne peut pas inclure de référence à une fonction de recherche.

  • Les expressions source et de destination doivent correspondre au même type de données. Le type retourné est identique au type de données de l'expression de résultat évaluée.

  • Des expressions source, de destination et de résultat ne peuvent pas inclure de références à des variables de groupe ou de rapport.

  • Lookup ne peut pas être utilisé comme expression pour les éléments de rapport suivants :

    • des chaînes de connexion dynamiques pour une source de données ;

    • des champs calculés dans un dataset ;

    • des paramètres de requête dans un dataset ;

    • des filtres dans un dataset ;

    • des paramètres de rapport ;

    • la propriété Report.Language.

Pour plus d’informations, consultez Fonctions du Générateur de rapports – Informations de référence sur les fonctions d’agrégation dans les rapports paginés (Générateur de rapports) et Étendue des expressions pour les totaux, les agrégats et les collections intégrées dans un rapport paginé (Générateur de rapports).

Exemple

Dans l’exemple suivant, supposez qu’une table est liée à un dataset qui inclut un champ pour l’identificateur de produit ProductID. Un dataset distinct nommé « Product » contient l’identificateur de produit correspondant ID et le nom de produit Name.

Dans l’expression suivante, Lookup compare la valeur de ProductID à l’ID sur chaque ligne du dataset nommé « Product » et, quand une correspondance est trouvée, retourne la valeur du champ Name pour cette ligne.

=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")