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.
-
AuteurArticles
-
15 janvier 2021 à 10 h 55 min #85969aitomar.elmehdiParticipant
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——-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 janvier 2021 à 12 h 07 min #85976Stéphane LorinParticipantBonsoir
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
- 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.15 janvier 2021 à 12 h 23 min #85979aitomar.elmehdiParticipantMerci Pour votre réponse, par contre je n’arrive pas a lire votre fichier excel
Merci d’avance et bonne journée17 janvier 2021 à 15 h 24 min #86072Stéphane LorinParticipantC’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
-
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.