Power Query: Transformation données de formations - Suivi de certifications

Bonjour à tous,

Je joins à ma demande un fichier qui se compose d'un tableau de données à gauche, et d'un tableau avec le résultat que je recherche à droite.

Les règles sont les suivantes:

- si une seule ligne par participant, on laisse la ligne telle quelle

- si deux lignes avec le même participant, on aura toujours les deux valeurs "Etat certificats", Périmé, et Valide. Je ne veux garder que la deuxième ligne

Merci d'avance pour vos réponses. Belle soirée

Bonjour,

Un essai, considérant que le dernier certificat est celui du dernier millésime

let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    GroupBy = Table.Group(Source, {"Nom, Prénom"}, {{"Max", each Table.MaxN(_,"Action.Millésime",1)}})[[Max]],
    // On ne garde que le dernier millésime de la personne, et que la colonne nouvellement crée contenant la table
    Expand = Table.ExpandTableColumn(GroupBy, "Max", List.Distinct(List.Combine(List.Transform(GroupBy[Max], each Table.ColumnNames(_)))))
    // La liste des titres est définie par la dernière fonction
in
    Expand

Le fichier en retour

Bonsoir à tous !

Une approche basée sur le contexte strict énoncé (ne retenir que la deuxième ligne) :

let
    Source = Excel.CurrentWorkbook(){[Name="tSource"]}[Content],
    LastRec = Table.Combine(Table.Group(Table.Buffer(Source), {"Nom, Prénom"}, {{"All", each Table.LastN(_,1)}})[All])
in
    LastRec

Bonsoir cousinhub et JFL, merci pour vos deux réponses, c'est ce que je recherchais. Je vais en profiter pour approfondir :-)

Belle soirée

Bonsoir à tous de nouveau !

Bien...

Je vous remercie de ce retour.

Bonjour JFL, je serais intéressé d'avoir votre formule adaptée, mais qui cette fois ne retient que la dernière ligne. J'ai un autre cas à traiter qui se présente avec plusieurs lignes

Je reformule donc ma nouvelle demande:

Les règles sont les suivantes:

- si une seule ligne par participant, on laisse la ligne telle quelle

- si deux lignes ou plus avec le même participant, on aura toujours les deux valeurs "Etat certificats", Périmé, et Valide. Je ne veux garder que la dernière ligne.

Merci :-)

Bonjour à tous !

C'est ce que réalise précisément ma proposition précédente !

Voir l'exemple avec un test sur le participant "HECTOR, Michel" :

Merci JFL, je n'avais pas encore testé et pensais que ce n'était valable que pour deux lignes....

Belle journée

Bonjour à tous de nouveau !

......je n'avais pas encore testé et pensais que ce n'était valable que pour deux lignes....

La curiosité est une nécessité....

Je vous remercie de ce retour.

Bonjour,

Personnellement, je pense que chaque certificat est associé à une date..

Et qu'en toute rigueur, le certificat en cours, est celui de la date la plus récente. Un tri malencontreux de la base de données pourrait fausser le résultat (de la très bonne solution de JFL, bien sûr )

Mais ce n'est que mon avis.

Bonne journée, et bonne semaine

Bonjour à tous de nouveau !

@cousinhub : Demat !

Et qu'en toute rigueur, le certificat en cours, est celui de la date la plus récente. Un tri malencontreux de la base de données pourrait fausser le résultat

Je plussoie !

Toutefois la temporalité ne semble pas faire partie des contraintes à la différence de la "dernière ligne". C'est pourquoi la fonction Table.Buffer est utilisée afin de figer l'ordre des enregistrements que la fonction Table.Group peut parfois malmener.

Rechercher des sujets similaires à "power query transformation donnees formations suivi certifications"