Problème avec visuel “Matrice”

Accueil – Le CFO masqué Forums Power BI Problème avec visuel “Matrice”

  • Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par Stéphane Lorin, le il y a 3 années et 8 mois.
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Articles
  • #85969
    aitomar.elmehdi
    Participant

    Bonjour,

    Sur Power BI j’ai un dataset avec la structure suivante
    Donnee_client——-imp_M——-Mnt_M——-imp_M-1——-Mnt_M-1——-imp_M-2——-Mnt_M-2——-
    Client_A ——-1——-1000——-2——-1200——-1——-1100
    Client_B ——-2——-1300——-2——-1200——-1——-1100
    Client_C ——-3——-1200——-4——-1500——-1——-1100
    Client_D ——-0——-1000——-2——-1200——-1——-1100

    Je voudrais avoir un résultat visuel de la façons suivante :

    impayés——-M——-M-1——-M-2
    0——-1000——-0000——-0000
    1——-1000——-0000——-4400
    2——-1300——-3600——-0000
    3——-1200——-0000——-0000
    4——-0000——-1500——-0000

    Merci d’avance pour votre aide 🙂

    #85976
    Stéphane Lorin
    Participant

    Bonsoir

    Avec Power Query je dépivote d’abord les autres colonnes que la première avec Table.UnpivotOtherColumns

    Puis je sépare la colonne attribut avec le caractère _ en utilisant Table.SplitColumn
    pour avoir d’un coté le imp et Mnt et de l’autre M, M-1 et M-2

    Enfin je pivote la colonne la colonne “imp/Mnt” avec Table.Pivot

    Voir la pièce jointe en remplaçant l’extension .xlsx par .pbix avant.

    Cordialement

    • Cette réponse a été modifiée le il y a 3 années et 8 mois par Stéphane Lorin.
    Attachments:
    You must be logged in to view attached files.
    #85979
    aitomar.elmehdi
    Participant

    Merci Pour votre réponse, par contre je n’arrive pas a lire votre fichier excel
    Merci d’avance et bonne journée

    #86072
    Stéphane Lorin
    Participant

    C’est normal, ce n’est pas un fichier excel mais un fichier Power BI
    vous devez remplacer l’extension .xlsx par .pbix avant de l’ouvrir

    Les trois étapes principales (dépivotage de toutes les colonnes sauf la première, fractionnement de la colonne attribut – l’ancienne ligne de titre – avec le caractère “_” et le pivotage pour mettre les montants et les périodes M, M-1, M-2 en colonnes) sont facilement accessibles dans les menus.

    sinon, voici le code de la requête.

    let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText(“i45Wcs7JTM0riXdUUNJRMgRhAwMDIGUEYhqBmWBRoLBSrA5cuZMCTI0xMcqdQcqNEWpMQExTnMpdQMoNCDgmFgA=”, BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Donnee_client = _t, imp_M = _t, Mnt_M = _t, #”imp_M-1″ = _t, #”Mnt_M-1″ = _t, #”imp_M-2″ = _t, #”Mnt_M-2″ = _t]),
    #”Type modifié” = Table.TransformColumnTypes(Source,{{“Donnee_client”, type text}, {“imp_M”, Int64.Type}, {“Mnt_M”, Int64.Type}, {“imp_M-1”, Int64.Type}, {“Mnt_M-1”, Int64.Type}, {“imp_M-2”, Int64.Type}, {“Mnt_M-2″, Int64.Type}}),
    #”Supprimer le tableau croisé dynamique des autres colonnes” = Table.UnpivotOtherColumns(#”Type modifié”, {“Donnee_client”}, “Attribut”, “Valeur”),
    #”Fractionner la colonne par délimiteur” = Table.SplitColumn(#”Supprimer le tableau croisé dynamique des autres colonnes”, “Attribut”, Splitter.SplitTextByDelimiter(“_”, QuoteStyle.Csv), {“Attribut.1”, “Attribut.2″}),
    #”Type modifié1″ = Table.TransformColumnTypes(#”Fractionner la colonne par délimiteur”,{{“Attribut.1”, type text}, {“Attribut.2″, type text}}),
    #”Colonne dynamique” = Table.Pivot(#”Type modifié1″, List.Distinct(#”Type modifié1″[Attribut.1]), “Attribut.1”, “Valeur”, List.Sum)
    in
    #”Colonne dynamique”

    Stéphane

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