Partager via


Fonction Lookup (Générateur de rapports et SSRS)

Retourne la première valeur correspondante pour le nom spécifié d'un dataset contenant des paires nom/valeur.

Notes

Vous pouvez créer et modifier des définitions de rapport (.rdl) dans le Générateur de rapports et dans le Concepteur de rapports dans SQL Server Data Tools. Chaque environnement de création offre différentes possibilités pour créer, ouvrir et enregistrer des rapports et des éléments connexes. Pour plus d’informations, consultez Conception de rapports en Concepteur de rapports et Report Builder (SSRS) sur le web sur microsoft.com.

Syntaxe

  
Lookup(source_expression, destination_expression, result_expression, dataset)  

Paramètres

source_expression
(Variant) Expression évaluée dans l'étendue actuelle et qui spécifie le nom ou la clé à rechercher. Par exemple : =Fields!ProdID.Value.

destination_expression
(Variant) Expression évaluée pour 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 évaluée pour la ligne dans le jeu de données 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. Par exemple, « Products ».

Renvoie

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.

Lookup 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 champ de nom ou de clé unique dans lequel une relation un-à-plusieurs existe, utilisez Fonction LookupSet (Générateur de rapports et SSRS). Pour appeler Lookup un ensemble de valeurs, utilisez la fonction Multilookup (Report Builder et SSRS).

Les restrictions suivantes s’appliquent :

  • Lookup est évalué après l’application de toutes les expressions de filtre.

  • Un seul niveau de recherche est pris en charge. Une expression source, 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.

  • Les 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 Référence aux fonctions d’agrégation (Générateur de rapports et SSRS) et Étendue des expressions pour les totaux, les agrégats et les collections intégrées (Générateur de rapports et SSRS).

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 à ID sur chaque ligne du dataset nommé « Product » et, lorsqu'une correspondance est trouvée, renvoie la valeur du champ Name pour cette ligne.

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

Voir aussi

Utilisation d'expressions dans les rapports (Générateur de rapport et SSRS)
Exemples d'expressions (Générateur de rapports et SSRS)
Types de données dans les expressions (Générateur de rapports et SSRS)
Étendue des expressions pour les totaux, les agrégats et les collections intégrées (Générateur de rapports et SSRS)