Comment écrire un JSL qui implémente l'une des conditions de sélection d'un sous-ensemble à l'aide de valeurs de cellule ?Par exemple, dans la colonne "Big Class.jmp": add" add", et modifiez la valeur de la première ligne de la colonne "add" en "&:height<65". Comment coder JSL pour ajouter la condition dans la première ligne de la colonne "ajouter" ?
Faites en sorte que la fonction JSL de cette combinaison soit la même que celle du code suivant :
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Where( sex == "F" & :age > 14 & :height < 65 );
d3 = dt << Subset( Output Table( "test" ), Selected Rows( 1 ), selected columns( 0 ) );

Merci!
ScriptRe : Comment écrire un JSL qui implémente l'une des conditions de sélection d'un sous-ensemble à l'aide de valeurs de cellule ?J'ai essayé de coder de cette façon, mais cela n'a pas fonctionné.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Column( "add", Character, "Nominal" );
dt[1, "add"] = "&:height<65";
a = dt[1, "add"];
dt << Select Where( :sex == "F" & :age > 14 || a );
d3 = dt << Subset( Output Table( "test" ), Selected Rows( 1 ), selected columns( 0 ) );
Je veux savoir comment coder cette forme de sélection de sous-ensembles en utilisant les valeurs des cellules comme conditions.
Merci les connaisseurs !
Re : Comment écrire un JSL qui implémente l'une des conditions de sélection d'un sous-ensemble à l'aide de valeurs de cellule ?Ce code utilise directement le contenu de la cellule pour calculer les valeurs dans la formule de la colonne.
Mais je ne sais pas comment appliquer ce formulaire au code qui sélectionne des sous-ensembles.
Merci!
aaa = dt[r, "abc"];
Eval( Parse( "Column(d9,\!"test\!")<<FORMULA></FORMULA>
Re : Comment écrire un JSL qui implémente l'une des conditions de sélection d'un sous-ensemble à l'aide de valeurs de cellule ?C'est tout à fait possible, mais avez-vous exclu l'utilisation d'un filtre de données (global) ? Cela vous permettrait, ainsi qu'à ceux qui ne sont pas des scripteurs, d'entrer facilement des requêtes, d'enregistrer vos favoris et d'enregistrer le filtre dans la table de données pour une utilisation future.
Une fois que les favoris existent, ils sont facilement accessibles à partir d'un menu déroulant.
C'est une manière très simple de procéder (et d'enseigner à vos collègues averses aux scripts, qui peuvent être les utilisateurs finaux ?). L'approche basée sur les cellules exigera des utilisateurs finaux qu'ils saisissent une syntaxe légitime, loin d'être garantie.
Une fois que vous avez configuré cela, les utilisateurs n'ont qu'à choisir dans une liste déroulante. Les utilisateurs plus avancés peuvent ajouter leurs propres filtres. Les sélections sont effectuées immédiatement, il ne reste donc plus qu'à créer le sous-ensemble.

Si, par contre, vous devez vous en tenir à votre approche initiale, voici une façon de le faire :
Names Default To Here(1);
//setup
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("add");
dt:add[1] = " & :height < 65";
//using \[ and ]\ to delimit the initial :sex == "F" string means you don't have to escape double-quotes.
query text = "\[:sex == "F"]\" || dt:add[1];
//parse and substitute the actual query text in for _TXT_ in the first expression below, and evaluate
eval (substitute(
expr ( dt << Select Where( _TXT_ ) ),
expr( _TXT_),
parse(query text)
));
dtSub = dt << subset (selected rows(1), selected columns(0));
À votre santé,
Brady