Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Power Query Optimisation powerquery

  • Initiateur de la discussion Initiateur de la discussion SophieS
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

SophieS

XLDnaute Nouveau
Bonjour,
Je me suis tentée un powerquery sur la base d'un fichier.

Le fichier initial est une requete qui va chercher des séries d'informations par type d'absence.
Le résultat démarre par le matricule et se poursuit par une série de colonnes pour chaque absence.

Pour pouvoir compiler ces séries d'infos, je suis passée par le fait d'extraire chaque série avec le matricule pour les compiler ensuite.

Toutefois, le résultat est que le fichier est long à charger.

Avez vous une méthode pour simplifier ce powerquery svp ?

Je vous joins le fichier de base (réduit) + le résultat + les exemples de mon powerquery (mon fichier est trop gros même zippé)

Je vous remercie d'avance pour votre aide

Sophie
 

Pièces jointes

Solution
Bonjour @SophieS,

Avant le traitement des données, la table comporte 4 colonnes additionnelles situées après la colonne "Identité Matricule", qui doivent être conservées ?

Si oui, à essayer.

PowerQuery:
let
A = Table.Buffer(Previous_Step), // à adapter avec le nom de l'étape précédente
B = ((x)=> List.Transform(List.Split(List.Skip(x,5),64), each {List.Range(x,0,5) & _, List.Range(x,0,5) & List.Transform(_, each ((x)=> x{2} ? ?? x{0}) (Text.Split(_,"__")))})) (Table.ColumnNames(A)),
C = Table.Combine(List.Transform(B, (x)=> Table.FromRows(List.Transform(Table.ToRows(Table.SelectColumns(A,x{0})), each List.ReplaceRange(_,6,1, {Text.Split(x{0}{6},"__"){1}})), x{1}))),
D = Table.Sort(Table.SelectRows(C, each...
Bonjour @SophieS,

Avant le traitement des données, la table comporte 4 colonnes additionnelles situées après la colonne "Identité Matricule", qui doivent être conservées ?

Si oui, à essayer.

PowerQuery:
let
A = Table.Buffer(Previous_Step), // à adapter avec le nom de l'étape précédente
B = ((x)=> List.Transform(List.Split(List.Skip(x,5),64), each {List.Range(x,0,5) & _, List.Range(x,0,5) & List.Transform(_, each ((x)=> x{2} ? ?? x{0}) (Text.Split(_,"__")))})) (Table.ColumnNames(A)),
C = Table.Combine(List.Transform(B, (x)=> Table.FromRows(List.Transform(Table.ToRows(Table.SelectColumns(A,x{0})), each List.ReplaceRange(_,6,1, {Text.Split(x{0}{6},"__"){1}})), x{1}))),
D = Table.Sort(Table.SelectRows(C, each List.Count(List.RemoveMatchingItems(List.Skip(Record.ToList(_),5), {0,""})) > 2), {{"Identité Matricule ",0},{"DDEB",0}})
in D

Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
513
D
  • Question Question
2
Réponses
28
Affichages
2 K
Deleted member 441486
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…