Script JSL pour changer le nom de la colonne dans la formule avec la vraie formule de la colonne correspondanteSalut tout le monde
J'essaie d'automatiser le processus où je veux changer le nom de la colonne dans une formule (c'est-à-dire "Lower 90% Indiv TiterHPLCProtA@D14" avec la "vraie" formule de cette colonne (deuxième image).
Je veux répéter ce processus pour tous les noms de colonne dans la première image.
Le script aurait besoin de quelque chose comme :
- Rechercher tous les noms de colonne dans la première formule
- Commencer par le nom de la première colonne
- Trouvez la colonne correspondante dans le tableau de données et copiez la formule
- remplacer le nom de la colonne dans la première formule par la formule de la colonne
- répétez ce processus jusqu'à ce que tous les noms de colonne de la première formule aient été remplacés par leur "vraie" formule
Formule de la première colonne

un exemple de la formule que je souhaite insérer dans la formule de la première colonne, en remplaçant "[...]TitreHPLCProtA[...]"

Tous mes vœux!
/Marc
Études de consommation et de marchéIngénierie de la qualité et des procédésRe : Script JSL pour changer le nom de la colonne dans la formule avec la vraie formule de la colonne correspondanteMerci beaucoup à vous deux ! C'était exactement ce que je cherchais !
Re : Script JSL pour changer le nom de la colonne dans la formule avec la vraie formule de la colonne correspondanteComme @pauldeen a souligné que vous pouvez profiler cela en utilisant des formules intermédiaires étendues, mais vous pouvez aller plus loin et utiliser l'option d'enregistrement des formules de formules étendues dans ce profileur pour résoudre toutes ces références dans une nouvelle formule de colonne.

Par exemple:
Names Default To Here( 1 );
dt = Open( "$Sample_data/iris.jmp" );
dt << New Column("Log[Petal width]", Numeric, "Continuous", Format("Best", 12), Formula(Log(:Petal width)));
dt << New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Formula(:Sepal length + :Sepal width + :"Log[Petal width]"n));
prof = Profiler(
Y( :Column 1 ),
Profiler(
1,
Term Value(
Sepal length( 6, Lock( 0 ), Show( 1 ) ),
Sepal width( 3.125, Lock( 0 ), Show( 1 ) ),
Petal width( 1.269, Lock( 0 ), Show( 1 ) )
)
),
Expand
);
col = prof << Save Expanded Formulas;
Si vous souhaitez le faire par script, vous avez plusieurs options.Je commencerais par une boucle for qui chercherait une référence de colonne, vérifierait si cette colonne a une formule, puis utiliserait la commande de substitution pour l'insérer.Essayez-le et postez-le ici si vous êtes bloqué.
Re : Script JSL pour changer le nom de la colonne dans la formule avec la vraie formule de la colonne correspondanteVous pouvez le faire avec certaines techniques de script avancées :
Vous devrez suivre le nom de la colonne jusqu'à la colonne,
Formula_expression = Column << get formula
Ensuite, vous pouvez remplacer les références de colonne par l'expression de formule.
Examinez donc expr(), nommez expr() et remplacez-le par into().
Si la seule raison pour laquelle vous faites cela est pour l'utilisation dans Profiler, vous pouvez simplement cocher la case ici :
