Sélectionnez Où() ne fonctionne pas<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai passé beaucoup de temps à essayer de créer une simple instruction "Select Where()" dans JMP, et cela ne fonctionnait pas.
Voici la ligne de code que j'essayais d'utiliser:
| dtData << select where(yParamList <= minLimList ); |
yListeParam est une colonne valide
minLimList est un nombre valide
Après avoir lu certains de ces forums, j'ai trouvé quelqu'un suggérant de tout mettre dans une chaîne, puis de l'analyser, j'ai donc changé le code ci-dessus en ceci :
| select_string = "dt << select where(" || ":" || yParamNames || " < " || car(minLimList ) || ");"; |
| eval(parse(select_string)); |
yParamNames est juste une version de nom de la yParamList à partir du code d'origine.
Ma question est, pourquoi mon code d'origine ne fonctionne-t-il pas?
Voici le lien où il a été suggéré d'utiliser la chaîne, et eval(parse(string));
Merci
Re : Select Where() ne fonctionne pasMerci. Cela me rendait fou.J'ai regardé la fonction As Column() mais je n'ai pas pris la peine parce que je ne peux pas croire que JMP ne soit pas assez intelligent pour savoir qu'il s'agit d'une colonne.À un moment donné, j'avais une colonne (dtData, yParamList ) déclaration là-dedans aussi.
Le fait est qu'après avoir branché votre code là-dedans, il a fallu environ 15 secondes pour que le script parcoure ma boucle d'environ 420 colonnes x 4000 lignes. J'ai pensé que c'était étrange car il venait de s'exécuter en environ 2 secondes avec la méthode string/parse que j'avais utilisée comme solution de contournement. On dirait que la méthode string/parse est en fait beaucoup plus efficace... allez comprendre.
Re : Select Where() ne fonctionne pasEssayez d'inclure yParamList dans As Column().
Cela fonctionne dans JMP 10 :
dtDonnées = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) ;
yListeParam = dtDonnées << obtenir les noms de colonnes ;
minLimList = { 12 , 14 } ;
je = 2 ;
dtDonnées << sélectionner où ( comme colonne ( yListeParam [ je ]) <= minLimList [ je ]) ;