Bonjour tout le monde,
Je cherche à calculer un effectif à partir de variables que j'ai créées sans avoir à afficher les enregistrements. J'avais eu le même problème dans un précédent post (ici) et pourtant en réappliquant les mêmes formules, ça ne fonctionne pas.
J'ai plusieurs champs:
- identifiantAdulte
- identifiantEnfant
- valeurDelai
- méthode
- dosage
un identifiantAdulte peut avoir plusieurs identifiantEnfant
un identifiantEnfant n'a qu'une seule valeurDelai
les valeurDelai de 2 identifiantEnfant d'un même identifiantAdulte sont obligatoirement différentes
je cherche à calculer des effectifs, des moyennes, des ecarts-types, …
Commençons par les effectifs…
J'ai créé les variables suivantes:
Indicateur Dosage_valeur =Si ( [dosage] <> -1 Et Pas(EstNul([dosage] ) ) Et [méthode] DansListe("methodeA ") ) Alors [dosage]
' ça marche, ça me permet de ne pas avoir des valeurs vides et des valeurs à -1
Indicateur NumeroIdentifiantEnfant =Si ( NombreCumulatif ( [valeurDelai] ; ( [identifiantAdulte] ; [méthode] ) ) = 1 ) Alors 1 Sinon 0
' ça marche, quand un identifiantAdulte a 2 identifiantEnfant, l'identifiantEnfant qui a la valeurDelai la plus grande a un NumeroIdentifiantEnfant = 0
Indicateur Dosage_Effectif =Si ( [NumeroIdentifiantEnfant] = 1 ) Alors Nombre([Dosage_valeur];Tout) Dans([identifiantEnfant]) PourChaque([identifiantEnfant])
' ça ne marche pas, ça me met 3526 au lieu de 3522 car ça compte aussi les enregistrements qui ont NumeroIdentifiantEnfant = 0. Or moi, je ne veux sélectionner que les enregistrements pour lesquels NumeroIdentifiantEnfant = 1. Le problème vient-il du fait que ma variable Indicateur NumeroIdentifiantEnfant soit calculée avec NombreCumulatif et que donc elle ne voudrait rien dire s'il n'y a pas les lignes d'enregistrement avec ??
Dans ce cas, comment afficher le nombre de dosage effectué en ne prenant en compte que les identifiantEnfant dont NumeroIdentifiantEnfant = 1 ?
Merci pour votre aide !
Partager