Table de dimension dans un fichier texte : solution Power Query

Table de dimension dans un fichier texte : solution Power Query

Dans cet article de blog, je vais passer en revue le problème n° 2 du problème de la semaine en cours sur le , où nous avons discuté de la façon de trier des données désordonnées dans une table de dimension propre. Il s'agit de la deuxième itération de cette nouvelle initiative que nous hébergeons chez LuckyTemplates. Je suis particulièrement passionné par cette série car elle offre à chacun la chance de s'entraîner régulièrement. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.

Le premier mercredi de chaque mois, il y a un défi DAX et le troisième mercredi, il y a un défi PowerQuery .

C'est une excellente occasion d'explorer, de découvrir et d'apprendre de nouvelles choses sur ces langages que vous devez exploiter dans LuckyTemplates.

Vous trouverez une catégorie sur le problème de la semaine sur le forum LuckyTemplates.

Table de dimension dans un fichier texte : solution Power Query

L'accent est mis sur le processus et non sur le résultat.

Si vous réussissez à décomposer un problème en plus petits morceaux, vous serez en mesure de résoudre n'importe quel problème auquel vous êtes confronté.

Mélissa de Korté

Brian a précédemment parlé d'une technique appelée débogage du canard en caoutchouc . Si vous avez manqué cela, assurez-vous de regarder sa vidéo. Cela peut vous aider lorsque vous êtes bloqué sur ces défis.

Tout d'abord, examinons la tâche à accomplir. Nous avons un fichier texte désordonné que nous devons transformer en une table de dimension appropriée.

Table de dimension dans un fichier texte : solution Power Query

Maintenant, quand je regarde des données comme celle-ci, pour la plupart, il s'agit de nettoyer le texte, de supprimer les caractères indésirables, de couper, de mettre des mots en majuscule, etc.

Mais nous devons également récupérer toutes les lignes de ces données de pile et les transformer en une seule ligne pour chaque pays. Je l'appelle pile de données car tous les noms de champs sont répétés dans une seule colonne pour chaque pays.

J'ai une certaine expérience d'Excel, et l'une de ses fonctionnalités les plus puissantes à mon avis est les tableaux croisés dynamiques .

Table des matières

Tableaux croisés dynamiques dans Excel

Les tableaux croisés dynamiques me permettent de visualiser les données segment par segment. En fonction de ce que vous placez sur la section de ligne, un tableau croisé dynamique condense chaque occurrence de ce segment en une seule ligne.

Vous pouvez ensuite diviser cela encore plus en faisant glisser des champs dans la section de colonne.

J'ai créé un exemple de ce à quoi cela ressemble. Ici, nous avons à peu près les mêmes données que nous avions dans le fichier texte.

Table de dimension dans un fichier texte : solution Power Query

Et sur la page suivante, j'ai créé un tableau croisé dynamique vide.

Table de dimension dans un fichier texte : solution Power Query

Maintenant, ce que je ne vous ai pas montré, c'est que j'ai ici trois colonnes au lieu des deux que je vous ai déjà montrées.

Je vais faire glisser mon segment vers les lignes.

Table de dimension dans un fichier texte : solution Power Query

Étant donné que la colonne 1 contenait les noms de champ, je vais le faire glisser dans la section des colonnes.

La colonne 2 contenait toutes les valeurs de champ, je vais donc la faire glisser dans la section des valeurs.

Table de dimension dans un fichier texte : solution Power Query

Nous pouvons voir ici que les tableaux croisés dynamiques ne peuvent pas gérer les chaînes de texte. Il les compte, mais il montre que nous avons une seule valeur pour chaque champ.

Table de dimension dans un fichier texte : solution Power Query

Examinons maintenant ce segment que j'ai créé. Je vais donc revenir aux données et je vais afficher ma colonne. Vous pouvez voir qu'il ne s'agit que d'un numéro d'index, identifiant chacun des blocs de données séparés qui sont encore empilés les uns sur les autres.

Table de dimension dans un fichier texte : solution Power Query

Donc pour moi, la transformation clé sera un pivot des données pour les remettre dans ce format tabulaire.

Dans le forum, j'ai vu d'autres façons de gérer cela. Il existe d'autres moyens d'accéder à un format tabulaire en dehors de l'utilisation d'une action de pivot et ils fonctionnent tout aussi bien. Si cela vous intéresse, rendez-vous sur le forum et commencez à explorer.

Utilisation de Power Query pour créer une table de dimension

Passons en revue la requête de puissance et examinons ma solution.

Personnellement, je pense que l'interface utilisateur fait un excellent travail en écrivant la majeure partie du code M pour nous. J'ai donc tendance à concevoir mes requêtes en utilisant autant que possible l'interface utilisateur.

Une fois que la requête fait ce dont j'avais besoin, j'irai dans l'éditeur avancé et examinerai le code M pour voir si je peux le modifier. Voyons à quoi ça ressemble.

Ceci est mon groupe de base qui est construit à l'aide de l'interface utilisateur.

Table de dimension dans un fichier texte : solution Power Query

Vous pouvez voir qu'il y a beaucoup d'étapes dans les étapes appliquées sur le côté droit.

Table de dimension dans un fichier texte : solution Power Query

Maintenant, ce n'est pas un problème en soi, mais rien qu'en regardant ces étapes, vous pouvez voir qu'il y a beaucoup de transformations qui peuvent être regroupées.

Ouvrons l'éditeur avancé.

Table de dimension dans un fichier texte : solution Power Query

On voit que cette requête comporte 31 étapes.

J'ai également ajouté quelques commentaires à cette même requête contenant les 31 étapes, mais je l'ai divisée en sections.

Table de dimension dans un fichier texte : solution Power Query

La première chose que j'ai faite a été de supprimer l'étape de changement de type. Je suggère de créer une fonction personnalisée pour effectuer toutes ces étapes de transformation de texte.

Il y a beaucoup de commentaires ici, mais il n'y a que deux choses que je veux souligner dans ce billet de blog. La première est la fonction personnalisée à des fins de nettoyage de texte .

La seconde est l'étape pivot pour transformer ce type de données dans un format tabulaire approprié .

Fonction de nettoyage de texte personnalisé

Revenons aux premières étapes de la construction de ma requête, où j'avais toutes ces étapes groupées pour nettoyer ces textes : la colonne 1 et la colonne fusionnée.

J'ai également ajouté une colonne personnalisée supplémentaire. Son seul but est de créer ma fonction de nettoyage de texte personnalisée . J'ai invoqué cela sur la colonne fusionnée.

De cette façon, je n'ai pas besoin d'écrire la fonction en une seule fois, mais de la construire progressivement une étape à la fois, en ajoutant une nouvelle transformation après avoir examiné les résultats de l'étape précédente.

Table de dimension dans un fichier texte : solution Power Query

Regardons le code M pour la fonction de nettoyage de texte.

Table de dimension dans un fichier texte : solution Power Query

Comme vous pouvez le voir, j'ai plusieurs étapes. Lorsque je construisais cette fonction de texte, j'allais et venais entre les requêtes pour regarder les résultats pour voir ce qu'il fallait construire et ce qu'il fallait corriger ensuite.

Avec ce résultat, j'ai effectué toutes les transformations dont j'avais besoin. Certaines des fonctions M que j'ai utilisées ici ont été fournies par l'interface utilisateur lorsque j'ai construit ma requête initiale, comme le texte. Fonction de coupe. Cependant, les autres fonctions utilisées ne l'étaient pas.

Si vous ne les connaissez pas, vous pouvez rechercher toutes les fonctions M dans le guide des formules M en ligne. C'est le lien où vous devez aller.

Table de dimension dans un fichier texte : solution Power Query

Vous trouverez une section dédiée à la requête de puissance et aux fonctions.

Table de dimension dans un fichier texte : solution Power Query

Si vous faites défiler vers le bas, vous trouverez la section sur la fonction de texte et chaque section commence par un aperçu. Il y a une liste de toutes les fonctions de texte à l'intérieur de la requête de puissance et du langage de formule M.

Si vous recherchez une transformation spécifique, vous pouvez la rechercher ici.

Table de dimension dans un fichier texte : solution Power Query

Faire pivoter les données

La deuxième partie que je voulais souligner lors de la création de cette table de dimension est le pivotement des données elles-mêmes. Examinons également cela de plus près.

J'ai commencé par ajouter un index. J'ai mis à jour cet index pour segmenter correctement les blocs de données. Je l'ai fait en retournant le numéro d'index pour chaque ligne où il y avait le pays de texte dans la colonne 1, puis j'ai rempli cette valeur.

Table de dimension dans un fichier texte : solution Power Query

Tout ce que nous avons à faire est de faire pivoter les données elles-mêmes. Dans l'onglet de transformation, vous trouverez la colonne Pivot. Avec la colonne 1 sélectionnée, cliquez sur Pivot Column.

Il va utiliser les valeurs de la colonne 1 comme nouveau nom de colonne. Il souhaite également savoir où se trouvent les valeurs de ces noms de champs. Ceux-ci sont dans notre colonne fusionnée.

Table de dimension dans un fichier texte : solution Power Query

Si Excel peut gérer des valeurs de texte, Power Query peut également en raison de son paramètre d'options avancées. Tout ce que nous avons à faire est de sélectionner Ne pas agréger pour qu'il puisse gérer les valeurs de texte.

Table de dimension dans un fichier texte : solution Power Query

Une fois que nous cliquons sur OK, nous pouvons voir que nos données ont été pivotées.

Table de dimension dans un fichier texte : solution Power Query

Conclusion

L'image ci-dessus est la requête de résultat final. J'espère que vous avez apprécié la façon dont nous avons remodelé les données désordonnées dans le fichier texte fourni et les avons transformées en un tableau de dimensions propre et adapté à l'analyse.

Si vous avez apprécié cet article de blog, veuillez vous abonner à la chaîne LuckyTemplates afin de ne manquer aucun nouveau contenu.

J'espère tous vous voir dans les prochains défis du problème de la semaine.

Mélisse


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir