- This topic has 3 replies, 2 voices, and was last updated 5 years, 4 months ago by
Stéphane Lorin.
-
AuthorPosts
-
15 January 2021 at 10 h 55 min #85969
aitomar.elmehdi
ParticipantBonjour,
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——-1100Je 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——-0000Merci d’avance pour votre aide 🙂
15 January 2021 at 12 h 07 min #85976Stéphane Lorin
ParticipantBonsoir
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-2Enfin 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
Attachments:
You must be logged in to view attached files.15 January 2021 at 12 h 23 min #85979aitomar.elmehdi
ParticipantMerci Pour votre réponse, par contre je n’arrive pas a lire votre fichier excel
Merci d’avance et bonne journée17 January 2021 at 15 h 24 min #86072Stéphane Lorin
ParticipantC’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’ouvrirLes 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
-
AuthorPosts
- You must be logged in to reply to this topic.




