Power BI Aide PowerQuery

kenny

XLDnaute Occasionnel
Bonjour,

j'ai un fichier de données avec des mois. Ces mois peuvent ne peuvent ne pas être complets. A l'aide de PowerQuery, j'ai transformé mes données.

Le résultat est satisfaisant. J'ai créé donc une matrice. Mais lorsque que je remplace mes données pour faire tourner ma matrice, Power Query bloque, car il trouve pas les autres colonnes. En effet, les données remplacées sont sur deux colonnes. elles peuvent être sur trois ou 12 5Les douze mois de l'année) c'est aléatoire. PQ attend tjrs le même nombre de colonne.

Comment puis je by passer le fait que PQ attend un nombre de colonne identique.
Merci de votre aide.

Je joins le fichier PowerMatrice où j'actualise les données et test_matrice ou je remplace les données par d'autres.
 

Pièces jointes

  • test_matrice.xlsx
    14.1 KB · Affichages: 9
Dernière édition:

kenny

XLDnaute Occasionnel
Bonjour à tous et toutes et bonjour JHA

Bonne année à toutes et à tous surtout la santé.

JHA, j'ai pu régler le problème. en revanche j'ai mis une colonne conditionnelle avec les mois de l'année et du coup il reconnait pas les mois d'octobre et Mars qui sont représenter par les chiffres 10 pour Octobre et 3 pour Mars. Le résultat me retourne null
 

Pièces jointes

  • 2022_Résultat_Matrice.xlsx
    45.2 KB · Affichages: 6
  • test_Matrice.xlsx
    17.5 KB · Affichages: 5

JHA

XLDnaute Barbatruc
Bonjour à tous,

Je ne comprends pas ton soucis, avec power query il n'y a qu'une seule requête (Transformer/depivoter les colonnes).
Il faut mettre les données en mode tableau.

JHA
 

Pièces jointes

  • test_Matrice (1).xlsx
    56.3 KB · Affichages: 6

mromain

XLDnaute Barbatruc
Bonjour kenny, JHA, le forum,

Ci-dessous un exemple pour la requête du fichier 2022_Résultat_Matrice.xlsx :
Enrichi (BBcode):
let
    // Source = Excel.Workbook(File.Contents("C:\...\test_matrice.xlsx"), null, true),
    Source = Excel.Workbook(File.Contents("C:\Users\Mickaël\Downloads\test_Matrice.xlsx"), null, true),
    Données_Sheet = Source{[Item="Données",Kind="Sheet"]}[Data],
    EnTêtesPromus = Table.PromoteHeaders(Données_Sheet, [PromoteAllScalars=true]),
    DépivoterColonnes = Table.UnpivotOtherColumns(EnTêtesPromus, {}, "Mois", "Valeur"),
    ColonneAjoutée_Valeur2 = Table.AddColumn(DépivoterColonnes, "Valeur2", each Text.Split([Valeur],","){0}),
    ColonneAjoutée_Valeur3 = Table.AddColumn(ColonneAjoutée_Valeur2, "Valeur3", each let valeurBrute = Text.Split([Valeur],","){1} in Text.Middle(valeurBrute,1,Text.Length(valeurBrute)-2)),
    ColonneAjoutée_NumMois = Table.AddColumn(ColonneAjoutée_Valeur3, "Num_Mois", each Date.Month(Date.From("1 "&[Mois]&" 2000")), Int64.Type),
    ColonnesPermutées = Table.ReorderColumns(ColonneAjoutée_NumMois,{"Num_Mois", "Mois", "Valeur", "Valeur2", "Valeur3"})
in
    ColonnesPermutées

L’emplacement de la Source est à adapter pour la faire pointer vers le fichier test_matrice.xlsx.

Pour récupérer le numéro du mois, on convertit le mois en texte en "vraie date" pour ensuite en extraire le mois.

A+
 

merinos

XLDnaute Accro
Salut @kenny,

Tu sauve tes données sous forme xlsx... cela pose un probleme qui peut être traité si tes données sont sous format CSV....

VB:
let
    Source = Csv.Document(File.Contents("C:\Users\Berna\Downloads\test_matrice.csv"),[Delimiter=";", Columns=15, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Added Index" = Table.AddIndexColumn(#"Promoted Headers", "Index", 0, 1, Int64.Type),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Added Index", {"Index"}, "Attribute", "Value"),
    #"Filtered Rows" = Table.SelectRows(#"Unpivoted Other Columns", each [Value] <> ""),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Index"})
in
    #"Removed Columns"

j'y ai manuellment apporté quelques modification: dont le fait de lire 15 colonnes. supprimé le formatage des colonnes avant de faire l'UNPIVOT...



a+

Merinos
 

Pièces jointes

  • test_matrice 2.xlsx
    25.4 KB · Affichages: 4

kenny

XLDnaute Occasionnel
Merci beaucoup ;o)) merci à tous pour votre contribution.

JHA, merci bien ;o)) Mérinos et mromain j'aime bien votre approche. Les 3 solutions me conviennent avec une préférence pour JHA cela me permet de savoir le nombre de rubrique ;o))
 

kenny

XLDnaute Occasionnel
JHA je joins une copie comme tu peux voir même il me met 1 au lieu de 5 en nbre par Mois
1641234696697.png
 

Discussions similaires

Réponses
9
Affichages
733

Statistiques des forums

Discussions
314 626
Messages
2 111 297
Membres
111 093
dernier inscrit
Yvounet