Comment obtenir des lignes en fonction de la sélection dynamique des colonnes dans JSLDans un script JMP, je souhaite récupérer les lignes correspondant à certains critères spécifiés par l'utilisateur. Voici une procédure similaire :
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
r = dt << Get Rows Where( :sex == "M" );
Show( r );
Seuls les critères sélectionnés par l'utilisateur, c'est-à-dire la colonne « sexe » et la valeur cible « M », doivent être dynamiques. J'ai essayé sans succès :
colname=Column(dt,"sex");
target="M";
r2 = dt << Get Rows Where( colname == target );
show(r2);
Qu'est-ce que je fais mal ?
Automatisation et scriptsRe : Comment obtenir des lignes en fonction de la sélection dynamique des colonnes dans JSLLe problème vient de votre nom de colonne
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
colname = Column(dt, "sex");
target = "M";
r2 = dt << Get Rows Where(As Column(colname) == target);
Show(r2);
ou à mon avis une meilleure option
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
colname = "sex";
target = "M";
r2 = dt << Get Rows Where(As Column(dt, colname) == target);
Show(r2);
ou
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
colname = "sex";
target = "M";
r2 = dt << Get Rows Where(Column(dt, colname)[Row()] == target);
Show(r2);