problème d'enregistrement du script dans la table de donnéesSalut à tous,
J'ai écrit un script (quelques centaines de lignes) qui 1) ouvre une table de données existante, 2) fait tout un tas de calculs et ensuite 3) crache une nouvelle table de données avec les résultats de ces calculs. Parce que j'améliore continuellement le script, je veux m'assurer de savoir quelle version exacte du script a été utilisée pour créer la nouvelle table de données de sortie et j'ai donc pensé à enregistrer le script entier dans la table de données. J'ai essayé d'utiliser NewDt << save script to data table mais cela ne sauvera en tant que script que la ligne qui a créé le NewDt, pas le script complet. Idéalement, je voudrais enregistrer non seulement le script mais également la table de données d'origine à partir de laquelle le NewDt a été créé. Aucune suggestion?
Cordialement et merci, Yves
Tableau de donnéesScriptingRe: problème d'enregistrement du script dans la table de donnéesVoici un script simple qui vous montrera une façon de procéder
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
biv = dt << bivariate( x( :height ), y( :weight ) );
theScript = Char( biv << get script );
Eval( Parse( "\[dt<<NEW script=""></NEW>
Re: problème d'enregistrement du script dans la table de donnéesMerci Jim mais je ne pense pas que cela résout mon problème. Mon problème ressemble plus au suivant:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
m = dt << Get All Columns As Matrix();
Several lines of matrix algebra with the columns of m producing various vectors y1, y2, y3
dt2=as table(y1, y2, y3);
Je veux que tout le script ci-dessus soit enregistré dans dt2. Merci encore, Yves
Re: problème d'enregistrement du script dans la table de donnéesLa question est donc de savoir d'où viennent les éléments de script que vous devez assembler pour construire la chaîne littérale que j'ai appelée "theScript". Alors d'où vient ce que vous appelez le "script complet"?Re: Problème d'enregistrement du script dans la table de donnéesVoici un exemple simple de la procédure à suivre pour créer un tel script. Les composants non disponibles dans JMP devront être ajoutés au script au fur et à mesure de sa construction. Concrètement, il s'agit de les concaténer progressivement. Une fois terminé, ajoutez le script à la table de données.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt = current data table();
theScript = "\[dt = current data table(); ]\";
If( try( dt:ratio << get name,"") == "",
dt<
<NEW column=""></NEW>
<P>J'ai également utilisé une méthode consistant à construire d'abord l'intégralité du script sous forme de chaîne de caractères, puis à l'enregistrer. Ensuite, j'exécute ce script enregistré, ce qui me donne les résultats.</P> <CODE class=" language-jsl">theScript = "\[
dt = current data table();
dt << bivariate( x(:weight), y(:height));
]\";
Eval( Parse( "\[dt<
<NEW script=""></NEW>