Récemment, lors d’une formation que j’offrais en entreprise, une apprenante m’a soumise une problématique. Elle cherchait une façon simple, sans avoir à entrer dans le code M, pour “remettre vis à vis” des items présentés sur des lignes décalées. Cet article vise à expliquer comment on peut travailler avec des lignes décalées dans Power Query.
Note: N’oubliez pas que si vous avez une version Excel 2010 ou 2013, vous pouvez ajouter Power Query gratuitement dans votre Excel et si vous avez Excel 2016, Power Query est intégré dans votre menu Données (même si le mot Power Query n’est pas écrit nulle part).
Données de départ : lignes décalées dans Power Query
Les données de l’apprenante ressemblait à l’extrait ci-dessous (en plus complexe évidemment!).
Ajout de colonnes
Comme première transformation, j’ai ajouté 3 colonnes:
- Une colonne d’index débutant à 1
- Une colonne d’informations indiquant si l’index est pair (retourne True quand l’index est pair)
- Une colonne d’index débutant à 0
Toutes les options d’ajout de colonnes se trouvent dans le menu “Ajouter une colonne”. J’ai utilisé l’option Colonne d’index et Informations (basée sur la colonne d’index débutant à 1).
Création de requêtes supplémentaires
Une fois les 3 nouvelles colonnes ajoutées, j’ai renommé ma requête Tableau de départ et j’y ai fait une première référence pour créer la requête Items et une deuxième référence pour créer la requête Valeurs.
Pour la requête Items, j’ai fait un filtre sur les FALSE, pour ne retenir que les lignes avec le nom des items.
Pour la requête Valeurs, j’ai fait un filtre sur les TRUE, pour ne retenir que les lignes avec les valeurs.
Remettre sur une même ligne, les lignes décalées dans Power Query
Afin de réaligner les données, j’ai fusionné la requête Items avec la requête Valeurs en associant la colonne Index avec la colonne Index.1 (voir image ci-dessous).
J’ai donc obtenu le résultat ci-dessous.
J’ai extrait les valeurs à l’aide de la double flèche dans le coin droit de la colonne Valeurs.
Et je me suis finalement départie des colonnes en trop, j’ai renommé mes colonnes et j’ai modifié les types de données, pour obtenir le résultat ci-dessous, i.e. le résultat recherché par l’apprenante.
Une autre cliente satisfaite, grâce à Power Query!
Voyez le tout en action dans ce tutoriel
🎞️ Abonnez-vous à notre chaîne YouTube
Bon visionnement !
Fichier d’accompagnement VIP à télécharger
Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.
Formation complémentaire
Afin d’approfondir vos connaissances avec Power BI et plus particulièrement vos compétences avec l’éditeur de requête Power Query, nous vous recommandons notre formation Recettes magiques pour transformer vos données.
Voici quelques commentaires d’apprenants ayant suivi la formation en ligne Recettes magiques pour transformer vos données :
La mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.
Impeccable et très astucieux, merci pour le partage
Bonjour
Après avoir ajouté l’index commençant à 1 on peut directement ajouter une colonne avec
each #”Index ajouté”[Colonne1]{[Index]}, type number
Ce qui va directement récupérer l’enregistrement suivant de la colonne 1
Il ne reste plus qu’à supprimer les lignes paires et la colonne d’index
Cordialement
Stéphane
Vrai!
Sauf qu’ici, l’apprenante, tel que mentionné en introduction d’article, ne voulait pas utiliser le code M. Cela dit, votre technique est beaucoup plus directe!
Au plaisir,
Sophie
The other way:
1. Duplicate column
2. Change the type of duplicated column to number
3. Replace errors with null
4. Fill Up
5. Remove alternate rows in original column (first column).
All the steps above can be done from UI.
Regards.
Yes Bill, that is a nice way to do it too. Thanks for your input!
Sophie