Power Query Dépivoter colonnes

  • Initiateur de la discussion Initiateur de la discussion Efgé
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Efgé

XLDnaute Barbatruc
Bonjour à toutes et tous.

Décidément, Power Query reste un peu magique pour moi

J'ai un problème pour dépivoter les colonnes deux par deux.
Je m'explique j'ai ce tableau :
1671790808259.png


Je voudrais arriver à cela : regrouper les dates en une colonne avec les nombres liés.
1671791139640.png


En pièce jointe un fichier.
Je reste là pour répondre aux demandes d'éclaircissement.

Cordialement
 

Pièces jointes

Re
J'ai trouvé:
Sélection des premières colonnes / Dépivoter les autres colonnes
Création d'une colonne an ne prenant que le début des textes
Mise au format nombre de la colonne valeur
Pivoter la colonne texte
remettre au format date la colonne date.

A+

Cordialement
 
Bonjour

Ton exemple n'est pas cohérent : certaines dates sont vides et d'autres pas alors que la situation est la même pour ces lignes

De même des valeurs inexistantes dans la source apparaissent

Exemple A_2 : il n'y a qu'un date dans la source, une valeur<>0 et 3 valeurs=0
Mais ton résultat attendu donne 3 dates et 2 valeurs 1000

J'avais traité mais du coup comme rien ne matche...
 
Dernière édition:
Bonjour @chris
Merci de te pencher sur le sujet.

En effet mon exemple est mal fait, un peu trop rapide.
En fait il faut recopier Date_2 et nb_2 en dessous du tableau en recopiant les valeurs correspondantes précédentes.
Même chose avec date_3 et Nb_3 et Date_4 et NB_4

Je joint un exemple plus propre.

Cordialement
 

Pièces jointes

Re

Et voici une troisième méthode à partir du pivotement et d'une partition de la table
VB:
// Tableau1 (3)
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    // Liste des noms des 5 premières colonnes de la table pour utilisations ultérieures
    ListeColonnes = List.FirstN(Table.ColumnNames(Source),5),
    // Pivoter la table sur les autre colonnes
    Pivotement = Table.UnpivotOtherColumns(Source, ListeColonnes, "Attribut", "Valeur"),
    // Scinder la table en deux en fonction de la valeur de "Attribut"
    Partition = Table.Partition(Pivotement,"Attribut",2,each Number.From(Text.StartsWith(_,"NB_"))),
    // Reconstruction d'une table à partir des colonnes des deux tables de la partitions
    Association = Table.FromColumns(
    Table.ToColumns(Table.SelectColumns(Partition{0}, ListeColonnes & {"Valeur"} ))
    & {Partition{1}[Valeur]},ListeColonnes & {"Date","Nombre"}
),
    #"Type modifié" = Table.TransformColumnTypes(Association,{{"Date", type date}, {"Nombre", type number}})
in
    #"Type modifié"
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
272
Réponses
1
Affichages
41
  • Question Question
Microsoft 365 Power Query
Réponses
8
Affichages
112
Réponses
8
Affichages
391
Réponses
22
Affichages
1 K
Retour