Actuellement, Action Recorder crée un code assez non robuste en utilisant des noms de table, etc. Le nouveau Workflow Builder est capable de proposer des remplacements de références, mais j'aimerais aller un peu plus loin et disposer d'une option dans laquelle Action Recorder utiliserait des noms de variables. Ceux-ci doivent être configurables par l'utilisateur. Un espace de noms doit également être utilisé dans ce cas, soit un espace spécifique, soit ici (ajoutez les noms par défaut à ici (1) ; en haut du script)
Vous trouverez ci-dessous un exemple assez simple créé à l'aide de Big Class et Enhanced Log.
/*:
// Open Data Table: Big Class.jmp
// → Data Table("Big Class")
Open("/C:/Program Files/SAS/JMPPRO/16/Samples/Data/Big Class.jmp");
// New formula column: Log[weight+1]
Data Table("Big Class") << New Formula Column(
Operation(Category("Log"), "Log x+1"),
Columns(:weight)
);
// New formula column: Random Uniform
Data Table("Big Class") << New Formula Column(
Operation(Category("Random"), "Random Uniform"),
Columns(:sex, :height)
);
// Report snapshot: Big Class - Graph Builder
Data Table("Big Class") << Graph Builder(
Size(528, 448),
Show Control Panel(0),
Variables(X(:sex), Y(:"Log[weight+1]"n)),
Elements(Points(X, Y, Legend(4)))
);
Ce serait bien si cela pouvait être écrit dans le journal comme (cela ne fonctionnera pas car il semble que << Nouvelle colonne de formule ne renvoie pas de référence à la colonne comme << Nouvelle colonne le fait, mais l'idée est toujours la même)
// Open Data Table: Big Class.jmp
// → Data Table("Big Class")
dt_1 = Open("/C:/Program Files/SAS/JMPPRO/16/Samples/Data/Big Class.jmp");
// New formula column: Log[weight+1]
col_1 = dt_1 << New Formula Column(
Operation(Category("Log"), "Log x+1"),
Columns(:weight)
);
// New formula column: Random Uniform
col_2 = dt_1 << New Formula Column(
Operation(Category("Random"), "Random Uniform"),
Columns(:sex, :height)
);
// Report snapshot: Big Class - Graph Builder
rep_1 = dt_1 << Graph Builder(
Size(528, 448),
Show Control Panel(0),
Variables(X(:sex), Y(col_1)),
Elements(Points(X, Y, Legend(4)))
);
Et dans cet exemple, dt_, col_ et rep_ sont les préfixes de nom de variable que l'utilisateur a choisis pour ces types d'objets spécifiques.
Cela devrait rendre les scripts générés automatiquement un peu plus robustes
Merci d'avoir soumis cette demande et d'avoir fourni un exemple ! Nous avons documenté cela et examinerons votre idée @jthi