Power Query index pour filtrer

king76

XLDnaute Nouveau
Bonjour,

J'ai ces données dans mon PowerQuery :

Regarde la pièce jointe 1171003

Comme vous pouvez le voir pour le couple "Sandy Lafemme, Cédric Lhomme", ils ont trois enfants "13 ans, 2-2 ans et 7 mois - 1 an" qui apparaissent à trois reprises, pour les dates du 1/07/2022, 8/07/2022 et 9/03/2023.

Au total, ils auraient 9 enfants. Je cherche un moyen d'avoir seulement 3 enfants, donc j'ai ajouté une clé unique qui me permettrait de ne comptabiliser que les données ajouté le 1/07/2022. J'ai essayé avec la fonction "Table.AddIndexColumn" mais sans succès.

Donc, avec ma clé unique je cherche à ajouter un index dans une nouvelle colonne ne manière à ce que les trois premières lignes de ce couple est l'index 1 (pour les 3 enfants saisis le 01/07/2023).

Je ne peux pas filtrer sur le nom, car ces données se retrouvent dans un filtre chronologique et je dois garder toutes les dates intactes.

Ça pourrait donner un truc comme ça :

1685187327320.png


Une idée ?

Merci.

PS : Il faut que la formule fonctionne pour toutes les autres données qui ont la même logique dans cette table

1685187528539.png
 

king76

XLDnaute Nouveau
Bonjour Chris,

Je n'ai pas mis le fichier parce qu'il est en cours de construction et qu'il y a des trucs qui bogue encore.

Je vais le mettre ici si ça peut aider et tu risques de retrouver du code que tu m'avais donné l'an dernier pour avancer sur ce projet hihi. C'est toi qui m'avait montré la fonction "AddIndexColumn" justement dans une autre table.

Le voici à télécharger : https://drive.google.com/file/d/1HTnZUGOCugcay1Xa75KDD_6rytOfnVeN/view?usp=sharing

C'est la table "Suivi des fiches (Enfants) TEST"

Merci.
 

chris

XLDnaute Barbatruc
RE
VB:
let
    Source = #"LesSuivis (simple)",
    #"Lignes triées2" = Table.Sort(Source,{{"Nom", Order.Ascending}, {"Date du suivi", Order.Ascending}}),
    Indexation = Table.AddIndexColumn(#"Lignes triées2", "Index", 1, 1, Int64.Type),
    Fusion=Table.NestedJoin(Indexation, {"Nom"}, #"LesFiches - Enfants", {"Nom"}, "Suivis2", JoinKind.LeftOuter),
    #"Suivis2 développé" = Table.ExpandTableColumn(Fusion, "Suivis2", {"Âge"}, {"Âge"}),
    #"Lignes triées" = Table.Sort(#"Suivis2 développé",{{"Index", Order.Ascending}}),
    #"Lignes filtrées" = Table.SelectRows(#"Lignes triées", each ([Âge] <> null)),
    #"Type modifié" = Table.TransformColumnTypes(#"Lignes filtrées",{{"Date du suivi", type date}})
in
    #"Type modifié"
 

king76

XLDnaute Nouveau
Merci, mais ce que j'obtiens avec ton code, c'est un index qui va de 1 à 73 pour le moment.
Par contre, ton code m'a donné l'idée d'une nouvelle poste de solution que je suis en train de tester et qui pourrait marcher :

1685194048827.png


Qui consiste à créer mon index avant de fusionner mes données avec la table qui contient les âges..

Je reviens..
 
Dernière édition:

king76

XLDnaute Nouveau
Ah zut, ça ne marche pas mon affaire.. avec ma chronologie si je filtre mon tableau croisé dynamique à partir de l'index (idx) 1, les données du couple ne seront visible que pour le mois de juillet et pas en 2023, parce que c'est l'index 4, à ce moment là les données n'apparaitront pas.

Bref, je dois trouver un autre moyen, zut zut zut.

Merci quand même.
 

king76

XLDnaute Nouveau
L'autre solution ce serait de transformer les données dans mes FICHES afin de calculer automatiquement le total de tous les enfants dans de nouvelles colonnes

Ainsi transformer ceci :

1685194868668.png


Ainsi :

1685195053919.png


Mais ça je ne sais pas faire de manière automatique.

Une idée ?

Merci.
 

king76

XLDnaute Nouveau
Bon finalement j'ai trouvé la solution, c'était tout bête. J'ai utilisé ce que j'avais déjà fait pour mes autres données BESOINS et INTERVENTIONS, à savoir fusionner le tout ensemble et après grace à PowerPivot j'ai pu afficher le Total distinct sur le nom.

Bref, ça ne parlera à personne, mon truc est trop spécifique mais en même temps, simple dans la solution quand on s'y connait.

Merci chris d'avoir pu jeter un oeil.

Il faudrait supprimer mon post, qui apporte pas d'infos pertinentes pour les autres utilisateurs.
 

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 270
Membres
103 168
dernier inscrit
isidore33