Passer de plusieurs lignes à une seule ligne et les informations en colonne

Accueil – Le CFO masqué Forums Power BI Passer de plusieurs lignes à une seule ligne et les informations en colonne

6 sujets de 1 à 6 (sur un total de 6)
  • Auteur
    Articles
  • #137502
    anaelle.remonnay
    Participant

    Bonjour,

    J’aimerais passer, grâce à Power BI, d’un tableau de ce type là :
    N° Producteur Nom Client
    1 A Magasin1
    2 B Magasin14
    2 B Magasin6
    3 C Magasin1
    4 D Magasin23
    5 E Magasin12
    6 F Magasin2
    6 F Magasin14

    A celui-ci :
    N° Producteur Nom Client1 Client2
    1 A Magasin1
    2 B Magasin14 Magasin6
    3 C Magasin1
    4 D Magasin23
    5 E Magasin12
    6 F Magasin2 Magasin14

    Merci beaucoup pour vos retours,

    Bonne fin de journée,

    Attachments:
    You must be logged in to view attached files.
    #137609
    Xavier Allart
    Participant

    Bonjour

    Voici une proposition avec un index conditionnel
    1) Transposer > Grouper par :
    De base
    N° producteur
    Nombre compter les lignes

    2) dans la barre de formule :
    = Table.Group(#”Type modifié”, {“N° Producteur”}, {{“Nombre”, each Table.RowCount(_), Int64.Type}})
    remplacer la fin de la formule each Table.RowCount(_), Int64.Type}})
    par = each Table.AddIndexColumn(_,”Index”,1,1), type table}})
    pour avoir comme nouvelle formule
    = Table.Group(#”Type modifié”, {“N° Producteur”}, {{“Nombre”, each Table.AddIndexColumn(_,”Index”,1,1), type table}})

    3) Développer la colonne “Nombre”

    4) Sélectionner la colonne “Index”
    Transformer > Pivoter la colonne
    colonne de valeur : Client
    options avancées ne pas agréger

    Voici le code complet
    let
    Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
    #”Type modifié” = Table.TransformColumnTypes(Source,{{“N° Producteur”, Int64.Type}, {“Nom”, type text}, {“Client”, type text}}),
    // Transposer > Grouper par : De base sur N° producteur type Nombre compter les lignes
    // Remplacer depuis each jusqu’à la fin par : each Table.AddIndexColumn(_,”Index”,1,1), type table}})
    #”Lignes groupées” = Table.Group(#”Type modifié”, {“N° Producteur”}, {{“Nombre”, each Table.AddIndexColumn(_,”Index”,1,1), type table}}),
    // Développer la colonne “Nombre”
    #”Nombre développé” = Table.ExpandTableColumn(#”Lignes groupées”, “Nombre”, {“Nom”, “Client”, “Index”}, {“Nom”, “Client”, “Index”}),
    // Sélectionner la colonne “Index”, Transformer > Pivoter la colonne : colonne de valeur : Client, options avancées : ne pas agréger
    #”Colonne dynamique” = Table.Pivot(Table.TransformColumnTypes(#”Nombre développé”, {{“Index”, type text}}, “fr-FR”), List.Distinct(Table.TransformColumnTypes(#”Nombre développé”, {{“Index”, type text}}, “fr-FR”)[Index]), “Index”, “Client”)
    in
    #”Colonne dynamique”

    Amicalement

    Attachments:
    You must be logged in to view attached files.
    #137637
    anaelle.remonnay
    Participant

    Bonjour Xavier,

    Merci beaucoup pour cette réponse !

    Bonne fin de journée,

    #139018
    jjdessain
    Participant

    Bonjour,
    Je rebondis sur ce topic car il ressemble fortement à ce que j’aimerais pouvoir réussir à faire.
    Je n’arrive pas à passer l’étape 2 décrite par Xavier. Lorsque je remplace la fin de la formule, j’ai un message d’erreur “Expression.SyntaxError : Identificateur non valide.”. J’ai joint une copie d’écran.

    Je ne comprends pas pourquoi 🙁

    Quelqu’un pourrait-il me donner un petit coup de main ?
    Cordialement,
    Jean-Jacques

    Attachments:
    You must be logged in to view attached files.
    #139027
    Xavier Allart
    Participant

    Bonjour

    Il s’agit simplement d’un probleme de code de caracteres lors du copier/coller, dans Power Bi, supprimer les guillemets qui entourent Index et les saisir.

    Amicalement
    Xavier

    #139084
    jjdessain
    Participant

    Bonjour Xavier,

    Effectivement. C’est mieux ainsi.
    Merci beaucoup.

    Cordialement,
    Jean-Jacques

6 sujets de 1 à 6 (sur un total de 6)
  • Vous devez être connecté pour répondre à ce sujet.