Jointure en DAX : Page Clients du rapport

Jointure en DAX

par

dans

Vous allez découvrir comment utiliser créer une jointure DAX dans Power BI Desktop afin de récupérer des données externes.

Votre manager souhaite avoir de nouvelles colonnes pour mieux analyser les opérations d’achat des clients.

Pour vous aider, regarder la copie d’écran ci-dessous du résultat attendu pour la partie visuelle du rapport.

Jointure en DAX : Page Clients du rapport
Jointure en DAX : Page Clients du rapport
Jointure en DAX : Page Commerciale du rapport
Jointure en DAX : Page Commerciale du rapport

Pour faire l’exercice, vous avez uniquement besoin du rapport PBI_Lab44.pbix qui est téléchargeable.

Cet article fait partie d’une série de tutoriels de formation sur les fonctions DAX Power BI :

  1. SUBSTITUTE Power BI
  2. SEARCH Power BI
  3. LEFT Power BI, RIGHT, MID, LEN
  4. Jointure en DAX
  5. Mesure DAX simple
  6. Visualiser une mesure DAX

Gardez à l’esprit que l’interface a pu évoluer fortement depuis que cet article a été rédigé.

Création de la colonne Vente 1er Jour pour la jointure en DAX

Premièrement, télécharger et ouvrir le fichier PBI_Lab44.pbix et l’enregistrer sous le nom PBI_Lab45.pbix.

Ensuite, dans la table Transactions, créer une nouvelle colonne qui se nommera Vente 1er Jour.

Notamment, le résultat attendu est de rechercher la liste des ventes réalisées le premier jour d’inscription. Si le client a acheté le jour même de son inscription, cette colonne contiendra la valeur logique Vraie (TRUE()), sinon elle contiendra Faux (FALSE()).

La formule doit faire intervenir la colonne ClientDate de la table Clients. En effet, cette colonne contient la date à laquelle le client est devenu client la première fois. Une personne peut devenir cliente de deux manières différentes : soit en faisant un premier achat, soit en s’inscrivant tout simplement comme client sans faire d’achat. Dans ce cas, l’achat est fait ultérieurement.

Pour information, il y a seulement 272 lignes avec la valeur « Vente 1er Jour », dans la table Transactions.

Ensuite, utiliser les fonctions IF et RELATED.

Pour vous aider, regarder la copie d’écran ci-dessous.

Jointure en DAX : Colonne Vente 1er Jour
Jointure en DAX : Colonne Vente 1er Jour

Solution pour la jointure en DAX

Dans la vue Données, faire un clic-droit sur la table Transactions puis cliquer sur Nouvelle colonne.

Ensuite remplacer Colonne = par la formule suivante :

Vente 1er Jour = IF(RELATED(Clients[ClientDate]) = Transactions[VenteDate], TRUE(), FALSE())

Puis appuyer sur la touche entrée du clavier.

Si un message d’erreur s’affiche, vérifiez que vous êtes bien dans la table Transactions (et non pas Articles).

Fin de la solution.

Ajouter un visuel de type Segment

Ensuite, cliquer sur une partie vierge quelconque de la page Commerciale.

Puis ouvrir le volet Visualisations.

Puis ajouter un objet visuel de type Segment. C’est celui qui contient un petit entonnoir. Il est juste à gauche du visuel Table.

Pour vous aider, regarder la copie d’écran ci-dessous.

Visuel Segment
Visuel Segment

Ensuite afficher la liste des valeurs du champ Vente 1er Jour.

Paramètres généraux du visuel :

  • Position X : 750             Largeur : 160
  • Position Y : 140              Hauteur : 110

Pour vous aider, regarder la copie d’écran ci-dessous.

Segment Vente 1er jour
Segment Vente 1er jour

Création de la colonne Nbre articles vendus pour la jointure en DAX

Dans la table Clients, créer une nouvelle colonne qui se nommera Nbre articles vendus.

Notamment, le résultat attendu est de calculer le nombre d’articles vendus à chaque client.

La formule ne fait intervenir que la colonne VentesNombres de la table Transactions. En effet, cette colonne contient directement le nombre de ventes. Bien que la colonne soit stockée dans la table Clients, celle-ci n’intervient pas dans la formule de calcul.

Pour information, il y a au total 240 lignes dans la table Clients, dont 133 valeurs distinctes pour la colonne Nbre articles vendus.

Ensuite, utiliser les fonctions SUMX et RELATEDTABLE.

Puis formater en Nombre entier avec séparateur de milliers.

Pour vous aider, regarder la copie d’écran ci-dessous.

Jointure en DAX : Colonne Nbre articles vendus
Jointure en DAX : Colonne Nbre articles vendus

Solution pour la jointure en DAX

Dans la vue Données, faire un clic-droit sur la table Clients puis cliquer sur Nouvelle colonne.

Attention. Il s’agit de la table Clients (et non pas Transactions).

Ensuite remplacer Colonne = par la formule suivante :

Nbre articles vendus = SUMX(RELATEDTABLE(Transactions), Transactions[VentesNombres])

Puis appuyer sur la touche entrée du clavier.

Ensuite, dans le ruban Outils de colonne (en haut), cliquer sur la virgule, sous Format. La virgule sert de séparateur de milliers.

Pour vous aider, regarder la copie d’écran ci-dessous.

Formatage du champ avec séparateur de milliers
Formatage du champ avec séparateur de milliers

Fin de la solution.

Ajouter un visuel de type Carte

Ensuite, cliquer sur une partie vierge quelconque de la page Clients.

Puis ouvrir le volet Visualisations.

Ensuite ajouter un objet visuel de type Carte. C’est celui qui contient les chiffres 123. Il est juste au-dessus des visuels Table et Matrice.

Pour vous aider, regarder la copie d’écran ci-dessous.

Visuel Carte
Visuel Carte

Puis afficher la valeur du champ Nbre articles vendus.

Paramètres généraux du visuel :

  • Position X : 960             Largeur : 300
  • Position Y : 110              Hauteur : 110

Vous pouvez personnaliser le visuel à votre convenance, comme ci-dessous. Dans le cas présent, l’ombre de la carte est activée.

Pour vous aider, regarder la copie d’écran ci-dessous.

Carte Nbre articles vendus
Carte Nbre articles vendus

Si vous avez un nombre inférieur, c’est probablement à cause d’une sélection.

Création de la colonne Catégorie client

Ensuite, dans la table Clients, créer une nouvelle colonne qui se nommera Catégorie client.

Notamment, le résultat attendu est le suivant : si le nombre d’articles vendus au client >= 400, la colonne contiendra « Client Premium », si le nombre d’articles vendus >= 200, la colonne contiendra « Plus », sinon « Standard ».

Pensez à réutiliser la colonne Nbre articles vendus, calculée précédemment.

Pour information, la répartition des clients est la suivante : 23 « Premium », 58 « Plus », 159 « Standard ».

Ensuite utiliser la fonction IF.

Pour vous aider, regarder la copie d’écran ci-dessous.

Colonne Catégorie client (extrait)
Colonne Catégorie client (extrait)

Solution

Dans la vue Données, faire un clic-droit sur la table Clients puis cliquer sur Nouvelle colonne.

Ensuite, remplacer Colonne = par la formule suivante :

Catégorie client = IF(Clients[Nbre articles vendus] >= 400, "Premium", IF(Clients[Nbre articles vendus] >= 200, "Plus", "Standard"))

Puis appuyer sur la touche entrée du clavier.

Fin de la solution.

Ajouter un visuel de type Segment

Ensuite, cliquer sur une partie vierge quelconque de la page Clients.

Puis ouvrir le volet Visualisations.

Ensuite ajouter un objet visuel de type Segment. C’est celui qui contient un petit entonnoir. Il est juste à gauche du visuel Table.

Puis afficher la liste des valeurs du champ Catégorie client.

Paramètres généraux du visuel :

  • Position X : 390             Largeur : 160
  • Position Y : 110              Hauteur : 160

Pour vous aider, regarder la copie d’écran ci-dessous.

Segment Catégorie client
Segment Catégorie client

Création de la colonne Nbre de visites pour la jointure en DAX

Dans la table Clients, créer une nouvelle colonne qui se nommera Nbre de visites.

Notamment, le résultat attendu est de compter le nombre de ventes par client. C’est le nombre de « passages en caisse », et non pas le nombre d’articles vendus au client.

La formule, très simple, ne fait intervenir que la table Transactions. Il suffit de compter les lignes de cette table.

Ensuite, utiliser les fonctions COUNTROWS et RELATEDTABLE.

Puis formater en Nombre entier avec séparateur de milliers.

Pour vous aider, regarder la copie d’écran ci-dessous.

Jointure en DAX : Colonne Nbre de visites
Jointure en DAX : Colonne Nbre de visites

Solution pour la jointure en DAX

Dans la vue Données, faire un clic-droit sur la table Clients puis cliquer sur Nouvelle colonne.

Ensuiete, remplacer Colonne = par la formule suivante :

Nbre de visites = COUNTROWS(RELATEDTABLE(Transactions))

Puis appuyer sur la touche entrée du clavier.

Dans le ruban Outils de colonne (en haut), cliquer sur la virgule, sous Format. La virgule sert de séparateur de milliers.

Fin de la solution.

Ajouter un visuel de type Carte

Ensuite cliquer sur une partie vierge quelconque de la page Clients.

Puis ouvrir le volet Visualisations.

Ensuite ajouter un objet visuel de type Carte. C’est celui qui contient les chiffres 123. Il est juste au-dessus des visuels Table et Matrice.

Puis afficher la valeur du champ Nbre de visites.

Paramètres généraux du visuel :

  • Position X : 600             Largeur : 300
  • Position Y : 110              Hauteur : 110

Pour vous aider, regarder la copie d’écran ci-dessous.

Carte Nbre de visites
Carte Nbre de visites

Si vous avez un nombre inférieur, c’est probablement à cause d’une sélection.

Création de la colonne Date première vente pour la jointure en DAX

Dans la table Clients, créer une nouvelle colonne qui se nommera Date première vente.

Le résultat attendu est d’avoir la date de la première vente faite au client.

La formule ne fait intervenir que la colonne VenteDate de la table Transactions. En effet, cette colonne contient la date de la vente. Bien que la colonne soit stockée dans la table Clients, celle-ci n’intervient pas dans la formule de calcul.

Pour information, il y a au total 240 lignes dans la table Clients, dont 201 valeurs distinctes pour la colonne Date première vente.

Formater en *14/03/2001 (Short Date).

Utiliser les fonctions MINX et RELATEDTABLE.

Pour vous aider, regarder la copie d’écran ci-dessous.

Jointure en DAX : Colonne Date première vente
Jointure en DAX : Colonne Date première vente

Solution

Dans la vue Données, faire un clic-droit sur la table Clients puis cliquer sur Nouvelle colonne.

Ensuite remplacer Colonne = par la formule suivante :

Date première vente = MINX(RELATEDTABLE(Transactions), Transactions[VenteDate])

Puis appuyer sur la touche entrée du clavier.

Ensuite cliquer sur la colonne Date première vente, puis dans le ruban Outils de colonne, cliquer sur *14/03/2001 (Short Date) dans le menu déroulant de Format.

Fin de la solution.

Ajouter un visuel de type Carte

Ensuite cliquer sur une partie vierge quelconque de la page Clients.

Puis ouvrir le volet Visualisations.

Ensuite ajouter un objet visuel de type Carte. C’est celui qui contient les chiffres 123. Il est juste au-dessus des visuels Table et Matrice.

Puis afficher la valeur du champ Date première vente.

Paramètres généraux du visuel :

  • Position X : 600             Largeur : 300
  • Position Y : 260              Hauteur : 110

Dans les propriétés du champ Date première vente du visuel, indiquer que la date est la plus ancienne. Normalement, c’est la valeur par défaut.

Pour vous aider, regarder la copie d’écran ci-dessous.

Carte Date première vente
Carte Date première vente

Si vous avez une date supérieure, c’est probablement à cause d’une sélection.

Création de la colonne Date dernière vente pour la jointure en DAX

Dans la table Clients, créer une nouvelle colonne qui se nommera Date dernière vente.

Le résultat attendu est d’avoir la date du dernier achat d’un client.

La formule ne fait intervenir que la colonne VenteDate de la table Transactions. En effet, cette colonne contient la date de la vente. Bien que la colonne soit stockée dans la table Clients, celle-ci n’intervient pas dans la formule de calcul.

Pour information, il y a au total 240 lignes dans la table Clients, dont 175 valeurs distinctes pour la colonne Date dernière vente.

Ensuite formater en *14/03/2001 (Short Date).

Puis utiliser les fonctions MAXX et RELATEDTABLE.

Pour vous aider, regarder la copie d’écran ci-dessous.

Jointure en DAX : Colonne Date dernière vente
Jointure en DAX : Colonne Date dernière vente

Solution

Dans la vue Données, faire un clic-droit sur la table Clients puis cliquer sur Nouvelle colonne.

Ensuite remplacer Colonne = par la formule suivante :

Date dernière vente = MAXX(RELATEDTABLE(Transactions), Transactions[VenteDate])

Puis appuyer sur la touche entrée du clavier.

Ensuite cliquer sur la colonne Date première vente, puis dans le ruban Outils de colonne, cliquer sur *14/03/2001 (Short Date) dans le menu déroulant de Format.

Fin de la solution.

Ajouter un visuel de type Carte

Ensuite cliquer sur une partie vierge quelconque de la page Clients.

Puis ouvrir le volet Visualisations.

Ensuite ajouter un objet visuel de type Carte. C’est celui qui contient les chiffres 123. Il est juste au-dessus des visuels Table et Matrice.

Puis afficher la valeur du champ Date dernière vente.

Paramètres généraux du visuel :

  • Position X : 960             Largeur : 300
  • Position Y : 260              Hauteur : 110

Dans les propriétés du champ Date dernière vente du visuel, indiquer que la date est la plus récente.

Pour vous aider, regarder la copie d’écran ci-dessous.

Carte Date dernière vente
Carte Date dernière vente

Si vous avez une date inférieure, c’est probablement à cause d’une sélection.

Enfin enregistrer le fichier de travail Power BI Desktop.

Résumé

Vous avez appris à créer plusieurs colonnes à l’aide de jointures.

Ces jointures ont été possibles grâce aux relations qui existent entre les tables.

Ces relations sont visibles dans la vue Modèle du rapport.

Sans relation, il n’y a pas de jointures possibles.

Notamment, vous avez découvert deux fonctions importantes qui exploitent ces relations : RELATED(), RELATEDTABLE().

Pour information, sachez qu’il y a encore d’autres fonctions DAX qui exploitent les relations.

Téléchargement de la solution

https://coudr.com/PBI_Lab45

Pour aller plus loin

Téléchargez gratuitement en PDF mon support de cours pour apprendre à créer des rapports avec Power BI Desktop. Il comprend l’exposé des notions (185 pages) et plus de 50 travaux pratiques corrigés de Power BI.

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *