Vous allez découvrir comment utiliser la fonction DAX SEARCH Power BI afin de chercher un caractère dans une chaine de caractères.
Pour extraire les données d’une chaîne de texte délimitée, il faut d’abord connaître la position du délimiteur. Dans ce scénario, il s’agit du caractère « ¤ » qui est dans la colonne ArticleSubstituer.
Aussi, dans cette seconde étape, il faut créer une nouvelle colonne, nommée ArticlePosFin, qui cherche le premier caractère « ¤ » dans la chaîne. Par ailleurs, sa position correspond à la position de fin du nom de l’article dans ArticleSubstituer.
Cette nouvelle colonne sera utilisée dans l’exercice suivant pour extraire définitivement le nom de l’article.
Enfin, en utilisant la même technique, adaptée à chaque situation, les colonnes MatierePosFin, TaillePosFin et PoidsPosFin seront créées. Il n’est pas nécessaire de créer une colonne de même type pour le marché car cette information est facile à trouver car c’est la dernière.
Pour vous aider, regarder la copie d’écran ci-dessous.
Par ailleurs, pour faire l’exercice, vous avez uniquement besoin du rapport PBI_Lab42.pbix qui est téléchargeable.
Gardez à l’esprit que l’interface a pu évoluer fortement depuis que cet article a été rédigé
Enregistrer son travail
Premièrement, télécharger et ouvrir le fichier PBI_Lab42.pbix et l’enregistrer sous le nom PBI_Lab43.pbix.
Création de la colonne ArticlePosFin avec la fonction SEARCH Power BI
Ensuite, dans la table Articles, créer une nouvelle colonne qui se nommera ArticlePosFin.
Notamment, le résultat attendu est de calculer la position de fin du nom de l’article dans ArticlePosFin.
La colonne ArticleSubstituer contient la chaîne de caractère à analyser. Par ailleurs, c’est le caractère « ¤ » qui délimite les données.
Ensuite, ne pas résumer la colonne.
Enfin utiliser la fonction SEARCH.
Pour vous aider, regarder la copie d’écran ci-dessous.
Solution
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 :
ArticlePosFin = SEARCH("¤",Articles[ArticleSubstituer],1,-1)
Ensuite, appuyer sur la touche entrée du clavier.
Dans le ruban Outils de colonne, cliquer sur la liste déroulante de ∑.Résumé puis cliquer sur Ne pas résumer.
Pour vous aider, regarder la copie d’écran ci-dessous.
Explication de la formule Supposons que ArticleSubstituer soit ‘Lamelles¤Zinc¤12cm¤6g¤Premium’. La fonction SEARCH recherche le caractère « ¤ » dans la colonne ArticleSubstituer, à partir du caractère 1. Dans ce cas, ArticlePosFin vaut 9. Si le caractère « ¤ » n’est pas trouvé, la fonction renvoie -1. |
Fin de la solution.
Création de la colonne MatierePosFin avec la fonction SEARCH Power BI
Ensuite, dans la table Articles, créer une nouvelle colonne qui se nommera MatierePosFin.
Notamment, le résultat attendu est de calculer la position de fin du nom de la matière dans MatierePosFin.
Ensuite ne pas résumer la colonne.
Enfin, utiliser la fonction SEARCH et le résultat du calcul précédent.
Solution
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 :
MatierePosFin = SEARCH("¤", Articles[ArticleSubstituer], Articles[ArticlePosFin] + 1, -1)
Ensuite, appuyer sur la touche entrée du clavier.
Enfin, dans le ruban Outils de colonne, cliquer sur la liste déroulante de ∑.Résumé puis cliquer sur Ne pas résumer.
Explication de la formule Supposons que ArticleSubstituer soit ‘Lamelles¤Zinc¤12cm¤6g¤Premium’. La fonction SEARCH recherche le caractère « ¤ » dans la colonne ArticleSubstituer, à partir de la valeur de ArticlePosFin + 1. Comme ArticlePosFin vaut 9 (cf. résultat précédent), la recherche est faite à partir du caractère 10. Dans ce cas, MatierePosFin vaut 14. Si le caractère « ¤ » n’est pas trouvé, la fonction renvoie -1. |
Fin de la solution.
Création de la colonne TaillePosFin avec la fonction SEARCH Power BI
Dans la table Articles, créer une nouvelle colonne qui se nommera TaillePosFin.
Le résultat attendu est de calculer la position de fin de la valeur de la taille dans TaillePosFin.
Ensuite ne pas résumer la colonne.
Enfin, utiliser la fonction SEARCH et le résultat du calcul précédent.
Solution
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 :
TaillePosFin = SEARCH("¤", Articles[ArticleSubstituer], Articles[MatierePosFin] + 1, -1)
Ensuite, appuyer sur la touche entrée du clavier.
Enfin, dans le ruban Outils de colonne, cliquer sur la liste déroulante de ∑.Résumé puis cliquer sur Ne pas résumer.
Explication de la formule Supposons que ArticleSubstituer soit ‘Lamelles¤Zinc¤12cm¤6g¤Premium’. La fonction SEARCH recherche le caractère « ¤ » dans la colonne ArticleSubstituer, à partir de la valeur de MatierePosFin + 1. Comme MatierePosFin vaut 14 (cf. résultat précédent), la recherche est faite à partir du caractère 15. Dans ce cas, TaillePosFin vaut 19. Si le caractère « ¤ » n’est pas trouvé, la fonction renvoie -1. |
Fin de la solution.
Création de la colonne PoidsPosFin avec la fonction SEARCH Power BI
Dans la table Articles, créer une nouvelle colonne qui se nommera PoidsPosFin.
Le résultat attendu est de calculer la position de fin de la valeur du poids dans PoidsPosFin.
Ensuite ne pas résumer la colonne.
Enfin, utiliser la fonction SEARCH et le résultat du calcul précédent.
Solution
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 :
PoidsPosFin = SEARCH("¤", Articles[ArticleSubstituer], Articles[TaillePosFin] + 1, -1)
Ensuite, appuyer sur la touche entrée du clavier.
Enfin, dans le ruban Outils de colonne, cliquer sur la liste déroulante de ∑.Résumé puis cliquer sur Ne pas résumer.
Explication de la formule Supposons que ArticleSubstituer soit ‘Lamelles¤Zinc¤12cm¤6g¤Premium’. La fonction SEARCH recherche le caractère « ¤ » dans la colonne ArticleSubstituer, à partir de la valeur de TaillePosFin + 1. Comme TaillePosFin vaut 19 (cf. résultat précédent), la recherche est faite à partir du caractère 20. Dans ce cas, PoidsPosFin vaut 22. Si le caractère « ¤ » n’est pas trouvé, la fonction renvoie -1. |
Fin de la solution.
Enregistrer le fichier de travail Power BI Desktop.
La manipulation est terminée.
Laisser un commentaire