Calculer une valeur qui apparait plusieurs fois dans un tableau

Bonjour,

J'ai simplifié mon problème que je traine depuis des jours dans un fichier ci-joint :

6exemple.zip (167.78 Ko)

...afin d'obtenir le plus d'aide possible.

J'ai une liste d'usagers qui peuvent être rencontrés plusieurs fois par mois :

img1

Ici, on peut voir par exemple que Sabrina Manchester a été rencontré le 1 juillet 2022 et le 2 juillet 2022.

Puis pour chaque usager, il peut y avoir jusqu'à 6 enfants de déclarés :

img2

Ici, on peut voir que Sabrina Manchester à deux enfants, mais on peut voir aussi qu'Olga Bristol à deux enfants du même âge (des jumeaux par exemple).

Ensuite avec Power Query j'ai réuni les deux tableaux afin de pouvoir aire un tableau TCD et graphique :

img3

Lorsque je veux afficher le nombre d'enfants par âge, je vais chercher le nombre de fois (distinct) que l'usager apparait dans ce tableau ci-dessous pour chaque âge.

img4

En théorie ça fonctionnerait, sauf dans un cas de figure que je n'arrive pas à résoudre. Dans le cas ou un usager à deux enfants du même page (à cause du distinct sur le nom, il ne fait le calcul qu'une seule fois).

Par exemple ici dans le TCD ci-dessus pour la ligne 4-5 ans, il devrait s'afficher quatre et pas deux.

Si on regarde le tableau tout en haut, on voit bien qu'il y a 4 enfants au total :

img5

J'ai beau retourner le problème dans tous les sens, ça dépasse mes compétences.

Auriez-vous une idée pour résoudre ce problème ? Ce serait grandement apprécié.

Merci.

Le cross post non signalé n'est pas autorisé... CF. la charte

Haha je me suis fait attraper par Chris qui est sur tous les forums on dirait ;)

Je m'essaye sur d'autres forums.... d'autres forums = d'autres utilisateurs non ?

Hello,

En fait en théorie oui, autre forum = autre utilisateur. Le problème c’est surtout que, si jamais ton problème est résolu sur un autre forum et que tu oublies ton post sur Excel pratique, le sujet restera en ouvert avec des gens qui travailleront inutilement dessus.

Excel pratique étant un forum très dynamique, t’auras généralement une réponse dans la demie journée ou la journée. Donc je te recommande d’abord de poster ici et si par malheur tu n’obtiens pas chaussure à ton pied sur ce forum, je préconise de fermer le sujet sur Excel Pratique et de l’ouvrir sur un autre forum. La subtilité est fine mais pour des bénévoles amoureux d’excel, ça représente beaucoup de ne pas faire dans le vide

Du coup, la charte interdit le cross platform, mais si jamais tu supprimes sur les autres forums, on se fera un plaisir d’y répondre et j’ai sans doute une piste …

@+

Bonjour,

Je comprends ! Justement hier je me demandais comment j'allais gérer le tout si j'allais trouver une réponse par rapport aux quelques places ou j'ai posté ;)

Malheureusement on ne peut pas supprimer facilement un sujet sur l'autre forum, ce n'est pas faute d'avoir voulu faire du ménage mais à partir du moment où y'a eu des réponses l'option disparaît.

Étant donné que maintenant tu m'a conscientiser à la situation, tu peux me partager ta piste et si ça abouti à une solution alors je pourrais poster la réponse sur l'autre forum dont on ne doit donner le nom !

Merci

Hey,

Bon aller va pour cette fois. Je ferai un Table.Group avec un Table.RowCount() pour identifier le nombre de ligne dans le PowerQuery directement plutôt que dans ton TCD.

Sans fichier je ne peux rien faire

@+

Merci.

J'ai mon fichier d'exemple en pièce jointe si tu as le temps d'intégrer ton code.

Je ne vois pas trop ce que tu veux compter exactement?

Merci

J'ai regardé ce que font les fonctions Table.RowCount et Table.Group et ce que je pourrais faire avec ça.

Je pourrais regrouper tous les suivis par mois avec Table.Group par exemple ? Et compter le nombre de... suivis à l'intérieur avec Table.RowCount ? Je suis perdu

Merci

Hello,

Un truc me chagrine, pourquoi tu reprends toutes les dates de suivi ? Il suffirait de prendre la dernière date par personne pour avoir l'état de ses enfants nan ?

Je ne comprends pas une analyse par date la dessus. Ca n'a pas de sens de dupliquer les lignes d'enfants en fonction du nombre de fois où la personne a été interviewée...

@+

Salut,

Merci de prendre le temps de regarder mon affaire et me questionner à ce sujet, c'est très apprécié.

En réalité, j'ai extrait du fichier seulement une partie du besoin, parce que la chronologie permet d'extraire toutes les données reliées au dossier des usagers.

Voici ce que ça donne :

image

Tu choisis des mois dans la chronologie pour pouvoir avoir une idée de tous les individus (usagers) que tu as rencontré durant cette période. Tu veux savoir si ce sont des femmes, des hommes, leur revenu, leur secteur, etc.. comme ça à chaque trimestre, tu en sais un peu plus sur le travail que l'intervenant à réalisé et qui est venu chercher de l'aide.

Et étant donné que tu as accès à tout ça, je me suis dit : allez go, sort moi aussi le nombre d'enfants que ces familles ont. C'est là que ça c'est compliqué.

Donc je n'ai pas le choix de savoir à chaque mois, le nombre d'usagers. Je ne peux pas juste indiquer le nombre d'enfants pour le dernier mois, sinon en janvier, février par exemple sur la chronologie les enfants n'apparaitront pas.

Peut être qu'à la base j'ai mal construit ma table dans Power Query, mais ça a fonctionné pour pas mal toutes les données et même pour des données qui se répètent avec le DISTINCT sur le NOM je n'ai jamais eu de soucis. Le soucis je l'ai rencontré quand il y a deux valeurs sur la même ligne (Enfant 1 = 4-5 ans et Enfant 2 = 4-5 ans).

Dans le fichier complet, pour chaque ligne, on a d'autres données que je dois pivoter : Besoin 1, besoin 2, besoin 3, sauf qu'il n'y a jamais de valeurs identiques. Quand on indique dans besoin 1 : La personne à besoin de nourriture, dans besoin 2, on indique toujours un autre besoin : La personne à besoin d'un logement.

Est-ce clair ?

Merci.

Bonjour

Un truc me chagrine, pourquoi tu reprends toutes les dates de suivi ? Il suffirait de prendre la dernière date par personne pour avoir l'état de ses enfants nan ?

Je ne comprends pas une analyse par date la dessus. Ca n'a pas de sens de dupliquer les lignes d'enfants en fonction du nombre de fois où la personne a été interviewée...

Tu en arrives au même point que moi : c'est bien pourquoi on n'a pas abouti à une solution satisfaisante sur XLD

Pas possible par TCD à mon avis (les approximations paraissent une piste à King76 mais en réalité c'est hors logique du TCD)
Via PQ il faudrait actualiser au changement de choix de la période analysée : pour passer par la chronologie liée à d'autres TCD on peut avec du VBA y arriver mais c'est un peu usine à gaz surtout avec une partie seulement de la problématique...

Ce qui me rassure, c'est qu'après avoir retourné le système dans tous les sens, je n'ai rien trouvé avec le modèle actuel, c'est que peut-être ce n'est pas possible avec un simple TCD.

L'alternative que j'ai trouvé pour le moment c'est de saisir l'âge des enfants dans Enfant 1, Enfant 2, etc. au lieu de choisir une période dans un menu déroulant et je peux sortir ce genre de graphique (ici des enfants de 6 mois à 29 ans)

image

Ça permet de prendre l'âge des enfants, même deux enfants dans la même famille qui aurait 8 ans et 10 ans, ça passe.

Seul problème, si y'a des jumeaux, faut inscrire 4 et 4,1 admettons...

Voilà et ça marche avec la chronologie.

Hello à tous les deux,

BonjourTu en arrives au même point que moi : c'est bien pourquoi on n'a pas abouti à une solution satisfaisante sur XLD

Pas possible par TCD à mon avis (les approximations paraissent une piste à King76 mais en réalité c'est hors logique du TCD)

@Chris, c’est clairement ça j’ai retourné le truc dans tous les sens mais ça fonctionne qu’a partir du postulat ou les graphiques ont la chronologie intégrée.

Dès qu’on met plusieurs chronologies ensemble ba l’agrégation devient foireuse et on part sur une usine à gaz pour le gérer …

@King ce n’est pas une question de modèle pour moi en tout cas j’arrête la sur ce sujet

A la prochaine à vous deux !

@+

Merci les gars ! Bonne nuit ;)

Re,

Quelqu'un m'a fait parvenir (sur un autre forum), une solution en VBA qui semble fonctionner. Ça consiste à recréer un tableau qui ressemble à celui générer par Power puis avec une fonction VBA, construire le TCD.

Ça fonctionne, mais est-ce que je vais réussir à l'intégrer dans mon projet final, c'est une autre histoire.

Le fichier en question ci-dessous pour les curieux. Merci à cow18 s'il passe ici.

Mais attendez, suis idiot.. le code VBA ne sert qu'à générer le même tableau que j'avais généré, à la seule différence, c'est qu'il ajoute une colonne ENFANT qui comprend un numéro unique pour chaque enfant. Ça a l'air tout con comme truc finalement et surement facilement reproductible avec Power Query.

image

Chaque enfant a un ID unique et s'il est répété à plusieurs dates, en faisant un DISTINCT dessus, c'est plus facile à compter.

Je vais essayer de le refaire en PQ pour éviter d'avoir à gérer du code VBA que je ne maitrise pas.

Bonjour

Voir sur le fil initial

Rechercher des sujets similaires à "calculer valeur qui apparait fois tableau"