Page Commerciale du rapport

Extraire les chaînes de caractères avec les fonctions DAX RIGHT, LEFT, MID, LEN

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.

L’objectif final est d’avoir des colonnes distinctes pour Article (ou Pièce), Matière, Taille, Poids et Marché.

Dans cette dernière étape, il faut créer une nouvelle colonne, nommée Pièce, qui va contenir le nom de la pièce de l’article, extrait de la colonne ArticleSubstituer grâce à la colonne ArticlePosFin.

En utilisant la même technique, adaptée à chaque situation, les colonnes MatiereBrut, Taille, Poids et Marché seront créées.

La colonne de la matière se nomme MatiereBrut car elle sera retravaillée. Notamment, la casse de la matière sera harmonisée.

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

Extraire les chaînes de caractères pertinentes
Extraire les chaînes de caractères pertinentes

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

Page Commerciale du rapport
Page Commerciale du rapport

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

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

  1. Créer une nouvelle colonne avec la fonction DAX SUBSTITUTE
  2. Déterminer les données intermédiaires avec la fonction DAX SEARCH
  3. Extraire les chaînes de caractères avec les fonctions DAX RIGHT, LEFT, MID, LEN
  4. Faire des jointures de tables de données avec DAX
  5. Mesurer des valeurs simples avec DAX
  6. Visualiser les mesures et colonnes DAX

Manipulations

Enregistrer son travail

Télécharger et ouvrir le fichier PBI_Lab43.pbix et l’enregistrer sous le nom PBI_Lab44.pbix.

Création de la colonne Pièce

Dans la table Articles, créer une nouvelle colonne qui se nommera Pièce.

Le résultat attendu est d’extraire la valeur de l’article dans Pièce.

S’aider du résultat des colonnes de position de l’exercice précédent.

Dans le calcul du nombre de caractères à extraire, tenir compte que le caractère ¤ occupe 1 position.

Utiliser la fonction LEFT.

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

Colonne Pièce (extrait)
Colonne Pièce (extrait)
Solution

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

Remplacer Colonne = par la formule suivante :

Pièce = LEFT(Articles[ArticleSubstituer], Articles[ArticlePosFin] - 1)

Appuyer sur la touche entrée du clavier.

Explication de la formule
Supposons que ArticleSubstituer soit ‘Lamelles¤Zinc¤12cm¤6g¤Premium’. Dans ce cas, ArticlePosFin vaut 9.
La fonction LEFT extrait, à partir de la gauche de la colonne ArticleSubstituer, 8 caractères (9 – 1). Ce qui donne ‘Lamelles’.

Fin de la solution.

Ajouter un visuel de type Table

Cliquer sur une partie vierge quelconque de la page Commerciale.

Ouvrir le volet Visualisations.

Ajouter un objet visuel de type Table. C’est celui qui ressemble à une feuille de calcul Excel.

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

Visuel Table
Visuel Table

Afficher dans cet ordre : ArticleID, Pièce.

Paramètres généraux du visuel :

  • Position X : 0                 Largeur : 370
  • Position Y : 75                Hauteur : 645

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

Table ArticleID (partiel)
Table ArticleID (partiel)

Création de la colonne MatiereBrut

Dans la table Articles, créer une nouvelle colonne qui se nommera MatiereBrut.

Le résultat attendu est d’extraire la valeur de la matière dans MatiereBrut.

S’aider du résultat des colonnes de position.

Par ailleurs, le nombre de caractères à extraire doit être calculé.

Utiliser la fonction MID.

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

Colonne MatiereBrut (extrait)
Colonne MatiereBrut (extrait)
Solution

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

Remplacer Colonne = par la formule suivante :

MatiereBrut = MID(Articles[ArticleSubstituer], Articles[ArticlePosFin] + 1, (Articles[MatierePosFin] - Articles[ArticlePosFin] - 1))

Appuyer sur la touche entrée du clavier.

Explication de la formule
Supposons que ArticleSubstituer soit ‘Lamelles¤Zinc¤12cm¤6g¤Premium’.
Dans ce cas, ArticlePosFin vaut 9 et MatierePosFin vaut 14.
La fonction MID extrait à partir de la position, ArticlePosFin + 1 caractères, soit 10.
À partir de cette position, elle extrait 4 caractères (14 – 9 – 1). Ce qui donne ‘Zinc’.

Fin de la solution.

Création de la colonne Taille

Dans la table Articles, créer une nouvelle colonne qui se nommera Taille.

Le résultat attendu est d’extraire la taille dans Taille.

S’aider du résultat des colonnes de position.

Par ailleurs, le nombre de caractères à extraire doit être calculé.

Utiliser la fonction MID.

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

Colonne Taille (extrait)
Colonne Taille (extrait)
Solution

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

Remplacer Colonne = par la formule suivante :

Taille = MID(Articles[ArticleSubstituer], Articles[MatierePosFin] + 1, (Articles[TaillePosFin] - Articles[MatierePosFin] - 1))

Appuyer sur la touche entrée du clavier.

Explication de la formule
Supposons que ArticleSubstituer soit ‘Lamelles¤Zinc¤12cm¤6g¤Premium’.
Dans ce cas, MatierePosFin vaut 14 et TaillePosFin vaut 19.
La fonction MID extrait à partir de la position, MatierePosFin + 1 caractères, soit 15.
À partir de cette position, elle extrait 4 caractères (19 – 14 – 1).
Ce qui donne ’12cm’.

Fin de la solution.

Création de la colonne Poids

Dans la table Articles, créer une nouvelle colonne qui se nommera Poids.

Le résultat attendu est d’extraire le poids dans Poids.

S’aider du résultat des colonnes de position.

Par ailleurs, le nombre de caractères à extraire doit être calculé.

Utiliser la fonction MID.

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

Colonne Poids (extrait)
Colonne Poids (extrait)
Solution

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

Remplacer Colonne = par la formule suivante :

Poids = MID(Articles[ArticleSubstituer], Articles[TaillePosFin] + 1, (Articles[PoidsPosFin] - Articles[TaillePosFin] - 1))

Appuyer sur la touche entrée du clavier.

Explication de la formule
Supposons que ArticleSubstituer soit ‘Lamelles¤Zinc¤12cm¤6g¤Premium’.
Dans ce cas, TaillePosFin vaut 19 et PoidsPosFin vaut 22.
La fonction MID extrait à partir de la position, TaillePosFin + 1 caractères, soit 20.
À partir de cette position, elle extrait 2 caractères (22 – 19 – 1).
Ce qui donne ‘6g’.

Fin de la solution.

Création de la colonne Marché

Dans la table Articles, créer une nouvelle colonne qui se nommera Marché.

Le résultat attendu est d’extraire le marché dans Marché.

S’aider du résultat des colonnes de position.

Dans le nombre de caractères à extraire, il faut utiliser la fonction LEN pour connaître le nombre de caractères de ArticleSubstituer.

Utiliser les fonctions RIGHT et LEN.

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

Colonne Marché (extrait)
Colonne Marché (extrait)
Solution

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

Remplacer Colonne = par la formule suivante :

Marché = RIGHT(Articles[ArticleSubstituer], LEN(Articles[ArticleSubstituer])-Articles[PoidsPosFin])

Appuyer sur la touche entrée du clavier.

Explication de la formule
Supposons que ArticleSubstituer soit ‘Lamelles¤Zinc¤12cm¤6g¤Premium’.
Dans ce cas, PoidsPosFin vaut 22.
La fonction LEN renvoie la longueur de ArticleSubstituer, soit 29.
La fonction RIGHT extrait, de la colonne ArticleSubstituer et à partir de la droite, 7 caractères (29 – 22).
Ce qui donne ‘Premium’.

Fin de la solution.

Création de la colonne Matière

Votre manager souhaite que l’initiale de la matière soit en majuscules, le reste en minuscules. Il vous demande de créer la colonne Matière qui contiendra cette donnée.

Pour ce faire, dans la table Articles, créer une nouvelle colonne qui se nommera Matière.

Le résultat attendu est de mettre l’initiale de MatiereBrut en majuscules, le reste en minuscules.

Utiliser les fonctions REPLACE, LOWER, UPPER et LEFT.

Masquer les champs MatiereBrut, ArticleSubstituer, ArticlePosFin, MatierePosFin, TaillePosFin, PoidsPosFin. En effet, c’est une bonne pratique de cacher les champs qui ne doivent plus être utilisés.

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

Colonne Matière (extrait)
Colonne Matière (extrait)
Solution

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

Remplacer Colonne = par la formule suivante :

Matière = REPLACE(LOWER(Articles[MatiereBrut]), 1, 1, UPPER(LEFT(Articles[MatiereBrut],1)))

Appuyer sur la touche entrée du clavier.

Vous allez masquer les champs qui ne doivent plus être utilisés.

Pour ce faire, survoler le champ MatiereBrut avec la souris puis cliquer sur l’icône en forme d’œil barrée qui pour masquer le champ. Cette icône se trouve à droite du champ.

Recommencer cette manipulation pour les champs ArticlePosFin, ArticleSubstituer, MatierePosFin, PoidsPosFin , TaillePosFin.

Explication de la formule
Supposons que MatiereBrut soit ‘ACIER’.
La fonction LEFT extrait le 1er caractère, soit ‘A’.
Cette valeur est envoyée comme paramètre à la fonction UPPER.
La fonction UPPER renvoie la valeur majuscule du paramètre, soit ‘A’.
La fonction LOWER renvoie la valeur minuscule de MatiereBrut, soit ‘acier’.
Cette valeur est envoyée comme premier paramètre à la fonction REPLACE.
Celle-ci remplace uniquement le 1er caractère par le résultat calculé (‘a’) par la fonction UPPER (‘A’), les autres caractères sont inchangés (‘cier’).
Ce qui donne ‘Acier’.

Fin de la solution.

Enregistrement du fichier de travail Power BI Desktop

Enregistrer le fichier de travail Power BI Desktop.

Résumé

Vous avez appris à extraire les caractères d’une chaîne de texte spécifique.

Pour ce faire, vous avez utilisé des fonctions DAX qui sont souvent combinées entre elles dans les formules : RIGHT(), LEFT(), MID(), LEN().

Vous avez aussi vu comment mettre en majuscules et en minuscules une chaîne de texte, avec les fonctions REPLACE(), LOWER(), UPPER().

Celles-ci sont généralement utilisées conjointement dans les formules DAX.

Téléchargement de la solution

https://coudr.com/PBI_Lab44


Publié

dans

par

Étiquettes :

Commentaires

Laisser un commentaire

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