<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut, j'essaie d'utiliser select où compter le nombre de lignes qui répondent aux critères dans 2 colonnes à l'aide d'une boucle for. Au début de mon script (non illustré), j'utilise une boîte de dialogue pour laisser l'utilisateur choisir 2 colonnes et cela se termine par une liste (collist). J'utilise ensuite un tableau associatif sur chacun pour déterminer les valeurs uniques par colonne. Une deuxième boîte de dialogue permet à l'utilisateur de choisir un sous-ensemble de ces valeurs uniques par colonne qui se retrouve dans une autre liste (poschosen). Le problème avec lequel je me bats est d'insérer les colonnes de collist dans la fonction select where. J'ai essayé un tas de tentatives différentes sur eval, expr, eval expr, parse, etc. pour essayer de les insérer correctement, mais je n'arrive tout simplement pas à trouver le bon moyen. J'espère que quelqu'un a des conseils.
Voici mon code adapté pour l'exemple de données : Popularité des enfants. Je voudrais remplacer les valeurs (ligne 14) School et Goals par collist[1] et collist[2] respectivement. Merci d'avance pour votre aide Elisabeth
dattable=Open( "$SAMPLE_DATA/Children's Popularity.jmp" );
poschosen={"Ridge","Sand","main","stop","Popular","Grades","stop"};
stoppos={4,7}; //determine the position of the separator "stop"
Test1pos=subtract(stoppos[1],1); //determine the # of school column values chosen
Test2posStart=add(stoppos[1],1); //determine where in the list the Goals column values start
collist={"School", "Goals"};
sumpositives=0;
For (i = 1, i <= Test1pos, i++, //loop through the chosen school column values
For(f=Test2posStart, f
dattable< & Goals==Poschosen);
num_selected=nrows(dattable<
sumpositives=sumpositives+num_selected; //add the current selection count to previous count
print(sumpositives); //should be 56 in this example
); //end of inner for loop
); //end of outer for loop
J'ai toujours essayé de comprendre celui-ci, j'ai finalement trouvé ce fil. Merci!
Peu importe je viens de comprendre (bien sûr juste après avoir posté la question, doh) ... la ligne 14 fonctionne quand je fais ceci:
dattable< & as column(dattable,collist[2])==Poschosen);