L’une des fonctionnalités les plus puissantes de Power Pivot est la possibilité de créer des relations entre les tables, puis d’utiliser les tables associées pour rechercher ou filtrer les données associées. Vous récupérez les valeurs associées à partir de tables à l’aide du langage de formule fourni avecPower Pivot, DAX (Data Analysis Expressions). DAX utilise un modèle relationnel et peut donc facilement et précisément récupérer des valeurs connexes ou correspondantes dans une autre table ou colonne. Si vous êtes familiarisé avec RECHERCHEV dans Excel, cette fonctionnalité dans Power Pivot est similaire, mais beaucoup plus facile à implémenter.

Vous pouvez créer des formules qui effectuent des recherches dans le cadre d’une colonne calculée ou dans le cadre d’une mesure à utiliser dans un tableau croisé dynamique ou un graphique croisé dynamique. Pour plus d’informations, voir les rubriques suivantes :

Champs calculés dans Power Pivot

Colonnes calculées dans Power Pivot

Cette section décrit les fonctions DAX fournies pour la recherche, ainsi que quelques exemples d’utilisation des fonctions.

Remarque : Selon le type d’opération de recherche ou de formule de recherche que vous souhaitez utiliser, vous devrez peut-être d’abord créer une relation entre les tables.

Présentation des fonctions de recherche

La possibilité de rechercher des données correspondantes ou associées à partir d’une autre table est particulièrement utile dans les situations où la table actuelle ne possède qu’un identificateur quelconque, mais où les données dont vous avez besoin (telles que le prix du produit, le nom ou d’autres valeurs détaillées) sont stockées dans une table associée. Elle est également utile lorsqu’il y a plusieurs lignes dans une autre table associées à la ligne ou à la valeur actuelle. Par exemple, vous pouvez facilement récupérer toutes les ventes liées à une région, un magasin ou un vendeur particulier.

Contrairement aux fonctions de recherche Excel telles que RECHERCHEV, qui sont basées sur des tableaux, ou LOOKUP, qui obtient la première des plusieurs valeurs correspondantes, DAX suit les relations existantes entre les tables jointes par des clés pour obtenir la valeur associée unique qui correspond exactement. DAX peut également récupérer une table d’enregistrements liés à l’enregistrement actif.

Remarque : Si vous êtes familiarisé avec les bases de données relationnelles, vous pouvez considérer les recherches dans Power Pivot comme une instruction de sous-sélection imbriquée dans Transact-SQL.

Récupération d’une valeur associée unique

La fonction RELATED retourne une valeur unique à partir d’une autre table liée à la valeur actuelle dans la table actuelle. Vous spécifiez la colonne qui contient les données souhaitées, et la fonction suit les relations existantes entre les tables pour extraire la valeur de la colonne spécifiée dans la table associée. Dans certains cas, la fonction doit suivre une chaîne de relations pour récupérer les données.

Par exemple, supposons que vous ayez une liste des expéditions d’aujourd’hui dans Excel. Toutefois, la liste contient uniquement un numéro d’identification d’employé, un numéro d’identification de commande et un numéro d’identification de l’expéditeur, ce qui rend le rapport difficile à lire. Pour obtenir les informations supplémentaires souhaitées, vous pouvez convertir cette liste en une table liée Power Pivot, puis créer des relations avec les tables Employee et Reseller, en faisant correspondre EmployeeID au champ EmployeeKey et ResellerID au champ ResellerKey.

Pour afficher les informations de recherche dans votre table liée, vous ajoutez deux nouvelles colonnes calculées, avec les formules suivantes :

= RELATED('Employees'[EmployeeName]) = RELATED('Resellers'[CompanyName])

Expéditions d’aujourd’hui avant recherche

OrderID

EmployeeID

ResellerID

100314

230

445

100315

15

445

100316

76

108

Table Employees

EmployeeID

Contoso

Revendeur

230

Kuppa Vamsi

Systèmes modulaires de cycle

15

Pilar Ackeman

Systèmes modulaires de cycle

76

Kim Ralls

Vélos associés

Expéditions d’aujourd’hui avec recherches

OrderID

EmployeeID

ResellerID

Contoso

Revendeur

100314

230

445

Kuppa Vamsi

Systèmes modulaires de cycle

100315

15

445

Pilar Ackeman

Systèmes modulaires de cycle

100316

76

108

Kim Ralls

Vélos associés

La fonction utilise les relations entre la table liée et la table Employees and Resellers pour obtenir le nom correct de chaque ligne du rapport. Vous pouvez également utiliser des valeurs associées pour les calculs. Pour plus d’informations et d’exemples, consultez Related Function.

Récupération d’une liste de valeurs associées

La fonction RELATEDTABLE suit une relation existante et retourne une table qui contient toutes les lignes correspondantes de la table spécifiée. Par exemple, supposons que vous souhaitiez connaître le nombre de commandes que chaque revendeur a passées cette année. Vous pouvez créer une colonne calculée dans la table Resellers qui inclut la formule suivante, qui recherche les enregistrements de chaque revendeur dans la table ResellerSales_USD et compte le nombre de commandes individuelles passées par chaque revendeur. 

=COUNTROWS(RELATEDTABLE(ResellerSales_USD))

Dans cette formule, la fonction RELATEDTABLE obtient d’abord la valeur resellerKey pour chaque revendeur de la table actuelle. (Vous n’avez pas besoin de spécifier la colonne ID n’importe où dans la formule, car Power Pivot utilise la relation existante entre les tables.) La fonction RELATEDTABLE obtient ensuite toutes les lignes de la table ResellerSales_USD associées à chaque revendeur et compte les lignes. S’il n’existe aucune relation (directe ou indirecte) entre les deux tables, vous obtenez toutes les lignes de la table ResellerSales_USD.

Pour le revendeur Modular Cycle Systems dans notre exemple de base de données, il y a quatre commandes dans la table sales, de sorte que la fonction retourne 4. Pour les vélos associés, le revendeur n’a pas de ventes, donc la fonction retourne un vide.

Revendeur

Enregistrements dans la table sales pour ce revendeur

Systèmes modulaires de cycle

ID du revendeur

SalesOrderNumber

445

SO53494

445

SO71872

445

SO65233

445

SO59000

ID du revendeur

SalesOrderNumber

Vélos associés

Remarque : Étant donné que la fonction RELATEDTABLE retourne une table, et non une valeur unique, elle doit être utilisée comme argument pour une fonction qui effectue des opérations sur des tables. Pour plus d’informations, consultez RELATEDTABLE, fonction.

Haut de la page

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.