Power Query PowerQuery List.Max "dynamique"

AngelFox

XLDnaute Nouveau
Bonjour à tous,

Pour des raisons professionnelles je me familiarise avec Power Query. J'ai un fichier mensuel qui contient nos ventes par article sur les 12 derniers mois, par conséquent chaque mois le fichier ne contient pas les mêmes colonnes.

Exemple :
Fichier Octobre 2024 : par article j'ai 12 colonnes => Novembre 2023, Décembre 2023...Octobre 2024
Fichier Novembre 2024 : par article j'ai 12 colonnes => Décembre 2023, Janvier 2024...Novembre 2024

Je dois pour chaque article faire la somme des quantités vendues et récupérer la valeur max des ventes sur ces 12 derniers mois.

Pour la somme j'ai trouvé une solution qui me permet de ne pas nommer mes colonnes qui changent tous les mois => List.Sum(List.Range(Record.ToList(_),43,54)), dans cette formule la somme se fait sur les colonnes de la position 43 à la position 54.

Pour la valeur max, j'ai beaucoup cherché mais je ne trouve pas comment lui indiquer de prendre la valeur max entre la colonne position 43 et la colonne position 54 comme pour la somme.
Sauriez vous si cela est possible ?

Pour le moment je travaille sur 2016 mais je vais passer à Office 365.

Merci par avance de votre aide et bonne soirée
 

alexga78

XLDnaute Occasionnel
Bonsoir AngelFox, le forum,

Le dernier paramètre de List.Range est le offset donc 54 colonnes après la colonne 43.
Par exemple :
Table.AddColumn(Source, "Custom", each List.Sum(List.Transform({43..54}, (x)=> Record.ToList(_){x})))
Table.AddColumn(Source, "Custom", each List.Max(List.Transform({43..54}, (x)=> Record.ToList(_){x})))

attention l'index d'une liste commence à 0, donc à adapter.
une fichier exemple serait utile ...

Cordialement,
 

AngelFox

XLDnaute Nouveau
Bonsoir, merci beaucoup de votre retour. J'ai reproduis un exemple allégé que vous trouverez en PJ.
J'ai réuni les 2 fichiers mensuels pour dans 1 seul fichier pour l'exemple. Tous les mois je sors ce report sur 12 mois glissants, donc le nom des colonnes est amené à changer de mois en mois.
Si je fais la somme des colonnes avec leur nom, le mois d'après je vais tomber en erreur car les noms de colonnes ne seront plus les mêmes. J'ai donc trouvé une solution pour donner le numéro de la colonne à additionner au lieu du nom. J'aimerai faire de même pour trouver la valeur Max de ces 12 mois glissants.
J'ai essayé la formule : List.Max(List.Transform({43..54}, (x)=> Record.ToList(_){x})) mais cela me donne la somme et non la valeur Max.
Désolée je suis novice sur PowerQuery, mais envie d'apprendre.
Merci encore pour votre aide, bonne soirée à vous.
 

Pièces jointes

  • Exemple fichier mensuel.xlsx
    18.4 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
315 124
Messages
2 116 468
Membres
112 748
dernier inscrit
Pboiusquet