Cet article fait suite Ă l’article Power Pivot: Leçon de DAX no.1 (fonctions X). Il vise Ă dĂ©montrer comment utiliser les fonctions RELATED et RELATEDTABLE en langage DAX (Data Analysis Expression), soit le langage utilisĂ© par Power Pivot et par Power BI Desktop.
DAX : Fonctions RELATED et RELATEDTABLE
Il existe en fait deux types de fonctions RELATED en DAX. L’une s’exĂ©cute sur une colonne et l’autre sur une table.
RELATED(Column)
- Cette fonction sert Ă rĂ©cupĂ©rer des valeurs qui se trouvent dans d’autres tables du modĂšle de donnĂ©es, un peu comme le ferait un Vlookup (Recherchev) dans Excel. Toutefois, cette fonction est plus intĂ©ressante car elle n’exige pas que la table dans laquelle on recherche nos valeurs soit organisĂ©e d’une façon prĂ©cise alors qu’avec un Vlookup (Recherchev), les valeurs recherchĂ©es doivent se trouver Ă gauche de la table.
- Cette fonction suit des relations Many-to-One, à partir du cÎté Many vers le cÎté One et retourne des valeurs uniques.
RELATEDTABLE(Table)
- Une fonction Vlookup (Recherchev) dans Excel renvoie seulement la premiÚre valeur trouvée alors que la valeur recherchée peut se trouver dans la table à plusieurs reprises.
- La fonction RELATEDTABLE en DAX, quant à elle, retourne une table avec toutes les lignes comprenant les valeurs recherchées.
- Elle doit donc ĂȘtre imbriquĂ©e dans une fonction d’aggrĂ©gation, comme une somme par exemple et dans ce sens, elle resemble davantage aux fonctions Sumif (Somme.si) et Sumifs (Somme.si.ens) d’Excel.
- Â La fonction RELATEDTABLE suit des relations dans les deux sens, soit Many-to-One ou One-to-Many.
ModÚle de données pour illustrer nos fonctions RELATED et RELATEDTABLE
Les exemples ci-bas sont basés sur le modÚle de données suivant:
Un exemple de la fonction RELATED
Dans l’exemple suivant, on va chercher le taux coĂ»tant pour chacun des #skus de la table de ventes. Ces #skus sont rĂ©partis en deux catĂ©gories, les #skus pour les Services et les #skus pour les Produits. Il existe donc une table pour les services, nommĂ©e SkusServices et une table pour les produits, nommĂ©e SkusProduits. Ci-bas, l’Ă©quation suivante permet d’aller chercher le taux coĂ»tant de la table SkusServices et de l’additionner au taux coĂ»tant de la table SkusProduits. Ătant donnĂ© que chaque #skus correspond soit Ă un service ou soit Ă un produit, on aboutira donc avec le taux coĂ»tant du #sku correspondant.
Cliquez sur l’image pour l’agrandir
Des exemples de la fonction RELATEDTABLE
La table ci-dessous est une table des catĂ©gories de produits et de services. Il est possible d’obtenir la somme des ventes par catĂ©gorie Ă l’aide de la fonction RELATEDTABLE, tel qu’illustrĂ© ci-bas. La fonction va donc lire dans la table Ventes et fait la somme des ventes pour chacune des catĂ©gories de la table de catĂ©gories. Elle fait ensuite une somme des valeurs de la table rĂ©sultante, grĂące Ă la fonction SUMX (fonction d’aggrĂ©gation). Pour savoir comment utiliser la fonction SUMX, je vous invite Ă relire l’article Power Pivot: Leçon de DAX no.1 (fonctions X).
L’exemple suivant utilise deux fonctions que nous n’avons pas encore prĂ©sentĂ©es, soit les fonctions COUNTROWS et CALCULATE. Ces fonctions feront l’objet d’articles de blogue sĂ©parĂ©s. Pour le moment, sachez que la formule suivante doit ĂȘtre interprĂ©tĂ©e comme suit: Nombre de lignes (ou nombre de transactions) qui concernent le partenaire #1 dans la table de ventes, pour chacune des catĂ©gories de produits.
Cliquez sur l’image pour l’agrandir
Power Pivot: Leçons de DAX: Suite
Power Pivot: Leçon de DAX no.3 (COUNTROWS)
Power Pivot: Leçon de DAX no.4 (FILTER/DISTINCT)
Power Pivot: Leçon de DAX no.5 (CALCULATE)
Power Pivot: Leçon de DAX no.6 (ALL)
Power Pivot: Leçon de DAX no.7 (ALLEXCEPT)
Power Pivot: Leçon de DAX no.8 (ALLSELECTED)
Fichier d’accompagnement VIP Ă tĂ©lĂ©charger
Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.
Formation complémentaire
Pour une introduction au langage DAX, utilisé par Power Pivot et par Power BI Desktop, qui permet de créer des tableaux de bord flexibles et faciles à mettre à jour en plus de créer des visualisations de données évoluées et pertinentes, suivez la formation Introduction au langage DAX (Power BI et Power Pivot).
Voici quelques commentaires d’apprenants ayant suivi cette formationâŻ:
La mission du CFO masquĂ© est de dĂ©velopper les compĂ©tences techniques des analystes et des contrĂŽleurs de gestion en informatique dĂ©cisionnelle avec Excel et Power BI et favoriser lâatteinte de leur plein potentiel, en stimulant leur autonomie, leur curiositĂ©, leur raisonnement logique, leur esprit critique et leur crĂ©ativitĂ©.
Bonjour,
Si je comprends bien c’est l’Ă©quivalent de la fonction somme.si.ens en vba. Par un heureux hasard, avez vous la mĂȘme chose en vba? Si oui je suis preneur. Et encore merci pour vos tutoriels qui sont vraiment bien fait.