Référencer une colonne en JSLJe suis continuellement étonné de constater à quel point les informations de base sur JSL manquent dans les didacticiels et les recherches sur Internet. Je ne sais pas comment on peut s'attendre à apprendre les bases de ce langage sans se pencher sur d'énormes quantités d'informations complémentaires inutiles, puis échouer à la fin à trouver ce qui est nécessaire de toute façon. Je suppose que c'est pourquoi les forums de discussion sont disponibles en tant que ressource.
J'essaie simplement de référencer une colonne étant donné une table de données en JSL.
dt = Open("filepath.jsl");
col = dt:"Column Title/Name";quand j'écris (), rien ne s'affiche, ce qui implique que la référence ne fait pas référence. La colonne est clairement remplie de données, elle n'est pas vide, j'ai vérifié. Erreur stupide à commettre, mais je m'en occupe. Cela dit, je ne sais pas ce qui ne va pas. Je pensais que c'était une chose assez basique en JSL, mais je constate continuellement que ces "éléments très basiques en JSL" échouent et coûtent de précieuses minutes, voire des heures, de dépannage alors que je pourrais travailler sur la logique de mon code. Je suis enclin à déposer une plainte auprès de mon responsable concernant notre utilisation de ce langage et à suggérer de passer potentiellement à quelque chose de plus logique et bien conçu pour la programmation (évidemment, JSL est destiné à un usage statistique, pas vraiment à la logique de programmation), comme Python.
. Merci pour votre aide éventuelle.
Automatisation et scriptsAccès aux donnéesMélange et nettoyage des donnéesConception d'expériencesPersonnalisation de masseRe : Référencer une colonne en JSL[NB : j'avais déjà écrit la majeure partie de ceci @jthi a répondu et a dit à peu près la même chose.]
Premièrement, si vous n'avez pas lu (au moins les premiers chapitres) du Guide de script JMP ( PDF , si vous préférez), vous devriez vraiment le faire.
JMP est un langage de script et non un langage de programmation. Il est très étroitement lié à l'interface utilisateur de JMP et est destiné à permettre l'automatisation des tâches JMP. Essayer d'y penser de la même manière que vous pensez à Python ou à d'autres langages qui ne contrôlent pas une interface utilisateur entraînera de la frustration.
J'essaie simplement de référencer une colonne étant donné une table de données en JSL.
Votre question en est un exemple. Le concept de « référencer] une colonne » est compliqué car une « colonne » peut signifier différentes choses dans différents contextes (par exemple, un appel de plateforme, la manipulation des propriétés d'une colonne, une formule de colonne).
Alors, qu'avez-vous choisi, quel "col" contenir dans votre exemple ? Les données contenues dans la colonne ? La valeur d'une ligne particulière de cette colonne ?
Ou, demandé différemment ? Où vouliez-vous utiliser « col » après l'avoir réglé sur ce que vous vouliez qu'il contienne ? Dans un appel de plateforme (par exemple, Distribution(Y(col)) ? Ou ailleurs?
Re : Référencer une colonne en JSLSi je me souviens bien, l'utilisation de dt:"colname" (identique à As Column()) vous donnera un accès direct à la valeur actuelle de la Row() actuelle de la colonne nommée "colname" dans la table de données avec référence dt. Pour obtenir une référence à la colonne, vous pouvez utiliser Column(dt, "colname") comme @Thierry_S dit.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
Compress File When Saved(1),
New Column("Column Title/Name",
Character,
"Nominal",
Set Values({"a1", "b2", "c3", "d4", ""})
)
);
For each row(dt,
col = dt:"Column Title/Name";
Show(col);
);
Row() = 1;
col = AsColumn(dt, "Column Title/Name");
Show(col);
col = Column(dt, "Column Title/Name");
Show(col);Je ne dis certainement pas que la documentation JSL est la meilleure, mais elle contient pas mal de matériel (et une excellente communauté et un support par courrier électronique). Pour commencer, voici de bonnes sources :
JMP15 - Guide de script
Aide JMP
Index de script directement depuis JMP
S'il manque quelque chose ou n'est pas clair dans l'aide ou l'index de script de JMP, je suis presque sûr que JMP se fera un plaisir de les améliorer.
@Jeff_Perkinson
Re : Référencer une colonne en JSLLa syntaxe correcte est : col = Column (dt, "Name")