Hello fg2b,
J'ai essayé de faire qq chose avec Power Query sur le pb de Muriel. Mais je suis arrivé a rien.
La persévérance est de mise avec PowerQuery, ça demande pas mal de temps mais décortiquer les requêtes des autres contributeurs est un excellent moyen pour progresser, tu es sur la bonne voie
@ Baroute , est ce que tu aurais la gentillesse d'expliquer les etapes group by avec le Table.AddIndexColumn et l'uitlisation de Idx et idealment un peu la suite?
- Alors pour le GroupBy c'est presque une utilisation basique de la fonctionnalité "Regrouper par du ruban". Je suis parti de ça
Ce qui a généré la ligne de code suivante :
= Table.Group(Replace, {"PERIODE", "SALARIE", "CODE DSN"}, {{"Nombre", each _}})
Cependant, pour chaque sous table, je voulais avoir un index de 1 à N pour chaque ligne et chaque sous table en vu de préparer le pivot de la table. Si tu essaie de pivoter la table simplement sur le code DSN, tu auras une erreur car un même code DSN peut être présent plusieurs fois pour un même salarié.
Exemple :
Donc je rajoute un index pour que sur chaque ligne qui ont un même code DSN ait un élément différenciant unique et ça se traduit ainsi : (je t'invite à aller voir la syntaxe de la fonction Table.AddIndexColumn sur la doc microsoft)
= Table.Group(Replace, {"PERIODE", "SALARIE", "CODE DSN"}, {{"Nombre", each Table.AddIndexColumn(_,"Idx", 1)}})
Ce qui me fait tilter que l'étape ReplaceIdx ne sert à rien du tout, tu peux la supprimer sans incidence.
- Pour l'étape du CombineIdx, c'était juste pour faire l'équivalent de la fonction ExpandList que tu peux utiliser avec l'espèce de double flèche à droite du nom de la colonne pour étendre les données mais ça fait du code en dur. Avec cette méthode, c'est plus évolutif si des colonnes subsidiaires se rajoutent au fil du temps.
- Pour l'étape du pivot : maintenant que nous avons enlevé le risque d'avoir des erreurs en pivotant la table grâce à la méthode de l'index, on sélectionne la colonne code DSN et on va dans le ruban pour pivoter la colonne :
Les dernières étapes sont simplement de la recopie vers le bas et de la suppression de colonnes
N'hésite pas si tu as besoin de plus d'explications
@+