Je viens de commencer à apprendre JSL, en utilisant JMP16
En essayant d'écrire un script pour créer une table de données de sous-ensemble avec la ligne sélectionnée, les critères de sélection sont définis par des valeurs numériques dans la colonne (7).
L'épine dorsale du script suivant provient du "sous-ensemble" exécuté sous l'onglet "Tables".
Data Table( "Subset of 200 kinome all excel" ) <<
Subset(
Linked,
selected rows only(0),
row selection (select where (as column(7) >0.3) );
Selected columns only(0),
);
La sélection du script ci-dessus n'a pas fonctionné. La table des sous-ensembles est identique à celle d'origine.
Qu'est-ce que j'ai raté?
Merci
Je n'utiliserais pas du tout cette approche, et cela ne fonctionne pas sur mon ordinateur (toujours toutes les lignes du sous-ensemble, et aucune erreur/message généré) :
Names default to here(1);
dt=open("$SAMPLE_DATA\Big Class.jmp");
Data Table( dt ) << Subset(
Linked,
selected rows only( 1 ),
row selection( select where( As Column( 2 ) > 13 ) ),
Selected columns only( 0 ),
);
La raison est que dans la documentation du "sous-ensemble", je n'ai trouvé aucune option telle que "sélection de ligne", il n'y a que
, [number, number, ...])>,
voir: Sous-ensemble d'une table de données (jmp.com)
Et le danger est que des paramètres inconnus ne génèrent pas d'erreur, si difficile à déboguer.
De plus, lors de la sélection de lignes dans cette instruction de sous-ensemble, je ne serais pas vraiment sûr que la sélection soit effectuée avant le sous-ensemble, donc cela ne me semble pas stable.
Ma solution serait soit de sélectionner les lignes avant l'instruction de sous-ensemble, soit comme ci-dessous en sélectionnant explicitement les numéros de ligne.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
Data Table( dt ) << Subset(
Linked,
rows( /* explicit rows [1,2,3] or conditionally: */ Loc( (dt:age << get values) > 16 ) ),
Selected columns only( 0 ),
);
Code modifié après @Georg j'ai trouvé mon code par erreur.
Vous avez quelques petits problèmes.
- Les lignes sélectionnées uniquement () doivent être activées
selected rows only( 1 ),
- Le Select Where doit être déplacé pour devenir une instruction indépendante
Data Table( "Subset of 200 kinome all excel" ) <<
row selection( select where( As Column( 7 ) > 0.3 ) );
Voici le code complet
Data Table( "Subset of 200 kinome all excel" ) <<
row selection( select where( As Column( 7 ) > 0.3 ) );
Data Table( "Subset of 200 kinome all excel" ) <<
Subset(
Linked,
selected rows only( 1 ),
Selected columns only( 0 )
);