<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous,
Je suis complètement nouveau dans les scripts JMP.
J'essaie de créer un script qui ira à chaque colonne de caractères d'une table, trouvera toutes ses valeurs (PASS, FAIL, etc.) et créera de nouvelles colonnes suffixées par "_CODED" en utilisant les valeurs assignées (1, 2, 3 , 4, 5) basés sur ceux mentionnés ci-dessus.
Voici le script que j'ai en ce moment, qui fonctionne, mais ne prend en compte qu'une seule colonne. Existe-t-il un moyen d'insérer une variable à la place de ce nom de colonne afin que toutes les colonnes soient prises en compte ?
dt = Table de données("datatable.jmp");
cols = dt << obtenir les noms de colonne (caractère); //Liste toutes les colonnes de caractères
For(i = 1, i <= N Items(cols), i++,
dt << Nouvelle colonne(cols << obtenir le nom || "_CODED",
numérique,
"Nominal",
Format("Meilleur", 12),
Formule(Nom Expr(
Si(:Nom("Niveau1") == "RÉUSSI", 1, Si(:Nom("Niveau1") == "ÉCHEC", 2, Si(:Nom("Niveau1") == "", 3, If(:Name("Level1") == "NOTTETESTED", 4, If(:Name("Level1") == "IGNORE", 5, If(:Name("Level1") == "PASS|PASS" , 6, Si(:Nom("Niveau1") == "IGNORER|IGNORER", 7, Si(:Nom("Niveau1") == "NON TESTÉ|NON TESTÉ", 8)))))))))
))
);
);
Fondamentalement, j'aimerais savoir s'il existe un moyen de faire passer le script avec chaque colonne de caractères dans une table au lieu de seulement Niveau 1 . j'ai essayé d'utiliser cols comme variable à la place de Niveau 1 , mais cela empêchait le script de s'exécuter car des guillemets étaient nécessaires, sinon le script recherchait une colonne nommée "Niveau 1", ce qui n'est pas l'objectif.
J'ai pris des morceaux d'autres scripts et j'ai essayé de les appliquer à celui-ci, alors n'hésitez pas à me faire savoir s'il y a quelque chose de redondant. Merci beaucoup.
Merci beaucoup, ça marche !
Cela le fera:
Nouveau tableau ( "Exemple" , Ajouter des lignes ( 6 ) ,
Nouvelle colonne ( "aaa" , Personnage , Nominal ,
Définir les valeurs ( { "PASSER" , "PASSER" , "ÉCHOUER" , "IGNORER" , "" , "IGNORER" } )
) ,
Nouvelle colonne ( "bbb" , Personnage , Nominal ,
Définir les valeurs ( { "PASS|PASS" , "IGNORER | IGNORER" , "PASSER" , "" , "ÉCHOUER" , "ÉCHOUER" } )
)
) ;
dt = Tableau de données ( "Exemple" ) ;
cols = dt << obtenir les noms de colonnes ( Personnage ) ; //Liste toutes les colonnes de caractères
Pour ( je = 1 , je <= N articles ( cols ) , je ++,
one_col = cols [ je ] << obtenir le nom ;
code_col = one_col || "_CODED" ;
expr_col = evalinsert (
"\[ dt << Nouvelle colonne("^col_codée^", Numérique, "Nominal",
Format("Meilleur", 12), Formule(
if (:name("^one_col^") == "PASS", 1,
:nom("^une_col^") == "ECHEC", 2,
:nom("^une_col^") == "", 3,
:name("^one_col^") == "NOTTETESTED", 4,
:name("^une_col^") == "IGNORER", 5,
:name("^one_col^") == "PASS|PASS", 6,
:name("^une_col^") == "IGNORER|IGNORER", 7,
:Name("^one_col^") == "NOTTETESTED|NOTTETESTED", 8;
);
)
);]\" ) ;
eval ( analyser ( expr_col ))
) ;