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 ✔️ Concepteur de rapports dans SQL Server Data Tools

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

Notes

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

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 qui est é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 ».

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.

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 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 pour un ensemble de valeurs, utilisez la 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, 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")  

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)