Vous allez découvrir comment utiliser la fonction DAX LEFT Power BI pour extraire une chaine de caractères, ainsi que RIGHT et MID.
En effet, 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.
Par ailleurs, 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.
Pour vous aider, regarder la copie d’écran ci-dessous du résultat attendu pour la partie visuelle du rapport.
Pour faire l’exercice, vous avez uniquement besoin du rapport PBI_Lab43.pbix qui est téléchargeable.
Gardez à l’esprit que l’interface a pu évoluer fortement depuis que cet article a été rédigé.
Création de la colonne Pièce avec la fonction DAX LEFT Power BI
Premièrement, télécharger et ouvrir le fichier PBI_Lab43.pbix et l’enregistrer sous le nom PBI_Lab44.pbix.
Ensuite, dans la table Articles, créer une nouvelle colonne qui se nommera Pièce.
Notamment, le résultat attendu est d’extraire la valeur de l’article dans Pièce.
Puis, 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.
Enfin, utiliser la fonction LEFT Power BI.
Solution avec LEFT Power BI
Dans la vue Données, faire un clic-droit sur la table Articles puis cliquer sur Nouvelle colonne.
Puis remplacer Colonne = par la formule suivante qui utilise LEFT Power BI :
Pièce = LEFT(Articles[ArticleSubstituer], Articles[ArticlePosFin] - 1)
Ensuite, 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 pour illustrer la fonction LEFT Power BI
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.
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.
Création de la colonne MatiereBrut avec la fonction DAX MID Power BI
Ensuite, dans la table Articles, créer une nouvelle colonne qui se nommera MatiereBrut.
Notamment, le résultat attendu est d’extraire la valeur de la matière dans MatiereBrut.
Ensuite, s’aider du résultat des colonnes de position.
Par ailleurs, le nombre de caractères à extraire doit être calculé.
Puis utiliser la fonction MID. La fonction MID est différente de la fonction LEFT Power BI car elle nécessite 2 paramètres. Le premier paramètre indique la position de départ pour extraire la chaîne de caractères, tandis que le deuxième paramètre indique le nombre de caractères à extraire.
Solution avec MID Power BI
Dans la vue Données, faire un clic-droit sur la table Articles puis cliquer sur Nouvelle colonne.
Puis remplacer Colonne = par la formule suivante :
MatiereBrut = MID(Articles[ArticleSubstituer], Articles[ArticlePosFin] + 1, (Articles[MatierePosFin] - Articles[ArticlePosFin] - 1))
Ensuite, 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 avec la fonction DAX MID
Ensuite, dans la table Articles, créer une nouvelle colonne qui se nommera Taille.
Notamment, le résultat attendu est d’extraire la taille dans Taille.
Ensuite s’aider du résultat des colonnes de position.
Par ailleurs, le nombre de caractères à extraire doit être calculé.
Puis utiliser la fonction MID.
Solution avec MID
Dans la vue Données, faire un clic-droit sur la table Articles puis cliquer sur Nouvelle colonne.
Puis remplacer Colonne = par la formule suivante :
Taille = MID(Articles[ArticleSubstituer], Articles[MatierePosFin] + 1, (Articles[TaillePosFin] - Articles[MatierePosFin] - 1))
Ensuite, 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 avec la fonction DAX MID
Ensuite, dans la table Articles, créer une nouvelle colonne qui se nommera Poids.
Notamment, le résultat attendu est d’extraire le poids dans Poids.
Ensuite, s’aider du résultat des colonnes de position.
Par ailleurs, le nombre de caractères à extraire doit être calculé.
Puis utiliser la fonction MID.
Solution avec MID
Dans la vue Données, faire un clic-droit sur la table Articles puis cliquer sur Nouvelle colonne.
Puis remplacer Colonne = par la formule suivante :
Poids = MID(Articles[ArticleSubstituer], Articles[TaillePosFin] + 1, (Articles[PoidsPosFin] - Articles[TaillePosFin] - 1))
Ensuite, 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é avec la fonction DAX RIGHT
Ensuite, dans la table Articles, créer une nouvelle colonne qui se nommera Marché.
Notamment, le résultat attendu est d’extraire le marché dans Marché.
Ensuite, s’aider du résultat des colonnes de position.
Puis utiliser les fonctions RIGHT et LEN.
La fonction RIGHT est identique à LEFT Power BI. La seule différence est que la fonction LEFT Power BI débute à gauche de la chaîne de caractères à extraire et en avant, tandis que RIGHT débute à partir de la droite et à rebours.
Dans le nombre de caractères à extraire, il faut utiliser la fonction LEN pour connaître le nombre de caractères de ArticleSubstituer.
Solution avec RIGHT
Dans la vue Données, faire un clic-droit sur la table Articles puis cliquer sur Nouvelle colonne.
Puis remplacer Colonne = par la formule suivante :
Marché = RIGHT(Articles[ArticleSubstituer], LEN(Articles[ArticleSubstituer])-Articles[PoidsPosFin])
Ensuite, 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 avec la fonction DAX REPLACE
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.
Notamment, le résultat attendu est de mettre l’initiale de MatiereBrut en majuscules, le reste en minuscules.
Ensuite utiliser les fonctions REPLACE, LOWER, UPPER et LEFT. Contrairement à la fonction LEFT Power BI, REPLACE n’extrait pas les caractères d’une chaine de caractères. Le rôle de REPLACE est de remplacer une chaine de caractères par une autre chaines de caractères.
Puis 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.
Solution avec REPLACE
Dans la vue Données, faire un clic-droit sur la table Articles puis cliquer sur Nouvelle colonne.
Puis remplacer Colonne = par la formule suivante :
Matière = REPLACE(LOWER(Articles[MatiereBrut]), 1, 1, UPPER(LEFT(Articles[MatiereBrut],1)))
Ensuite, 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.
Puis 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.
Enregistrer le fichier de travail Power BI Desktop.
La manipulation est terminée.
Laisser un commentaire