Share 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.

[!REMARQUE]

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 dans le Concepteur de rapports et le Générateur de rapports (SSRS) sur le site Web Microsoft.

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 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. Par exemple, « Products ».

Return

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 ID dans une table, vous pouvez utiliser Lookup pour récupérer le champ Name correspondant d'un dataset qui n'est pas lié à la région de données.

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

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, 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

Référence

Exemples d'expressions (Générateur de rapports et SSRS)

Concepts

Utilisation d'expressions dans les rapports (Générateur de rapport 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)