Affectation de la table de données au nouveau nom et conservation de la table de données d'origine intacte après le traitementJ'essaie d'éviter d'apporter des modifications à ma table de données d'origine et de la garder intacte lorsque j'effectue certaines opérations
disons que nous avons ce genre de scénario
for (i = 1, 3, i++,
dt_process = data table("dt_original);
dt_process << newcolumn("elclassico", character,formula(if (Contains(:club, "BARC") , "Barcelona", "delete")
dt_process << save("save_my_club"||char(i))
)Après ce processus, quand i = 2, le jsl me dit ne peut pas trouver dt_original car le nom a été changé.
Pourquoi cela se passe-t-il ?
Tableau de donnéesScriptRe : Attribuer une table de données à un nouveau nom et conserver la table de données d'origine intacte après le traitementEnregistrer changera le nom de l'ensemble de données et vous utilisez toujours la référence à la même table de données (dt_original)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
show(dt << get name);
dt << Save("$temp\deleteme Big Class.jmp"); // explicit location
show(dt << get name);
Vous pouvez créer un sous-ensemble à la place et l'enregistrer (si vous n'avez pas besoin de les laisser ouverts, n'oubliez pas de les fermer)
dt_process = dt_original << Subset(Selected Columns(0), All Rows);