Ciao
Ho scritto uno script per eliminare una colonna.Tuttavia, viene visualizzato l'errore "Impossibile eliminare questa colonna mentre è referenziata dalla formula a un'altra colonna. "
Non ci sono formule, ma se uso manualmente l'opzione "Rimuovi riferimenti", posso eliminare manualmente la colonna.
Ho bisogno di imparare come usare questa funzione nel mio script per usare "Rimuovi riferimenti"
Sto usando JMP 16.1.0
puoi fornire una tabella di dati di esempio?
Potresti voler fare un passo indietro e considerare l'approccio che stai utilizzando. Invece di risolvere questo problema, potrebbe essere evitato in primo luogo. Ad esempio, perché stai utilizzando una formula nell'altra colonna di dati? Perché vuoi eliminare una colonna?
Potresti essere in grado di utilizzare altri modi per popolare una colonna di dati che non coinvolga affatto formule. L'unico motivo per utilizzare una formula durante lo scripting di JMP è se è necessario aggiornare la colonna di dati quando la tabella di dati cambia. Ci sono altrimenti altri modi.
Riesci a postare il tuo copione? O descrivi i passaggi eseguiti dal tuo script?
Mi chiedo se c'è una colonna formula nascosta? Se non c'è davvero una colonna formula, sembra un bug e l'invio della tabella al supporto tecnico potrebbe aiutare a risolverlo.
Il problema è correlato alla tabella di riepilogo?
Proprio oggi ho notato un comportamento strano con le tabelle di riepilogo quando ho provato a rimuovere le formule. Attualmente sto testando il problema e invierò il ticket al supporto JMP dopo un esempio corretto. Posso anche pubblicare l'esempio qui dopo che è pronto.
Modificare:
Ecco un rapido esempio del problema che ho riscontrato oggi (uso abbastanza raramente le formule...):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//create some formula colums
dt << New Column("deduction", Numeric, "Continuous", Format("Best", 12), Formula(:height - :weight));
dt << New Column("concat_col", Character, "Nominal", Formula(:name||"_"||Char(:name)));
dt_summary = dt << Summary(
Group(:name,:sex, :concat_col),
Mean(:height),
Mean(:deduction),
Freq("None"),
Weight("None"),
Link to original datatable(0)
);
Try(
dt_summary << Delete Column("name");
,
show(exception_msg);
);
Try(
f = Column(dt_summary, "concat_col") << Get Formula;
show(f);
Column(dt_summary, "concat_col") << Delete Formula;
,
show(exception_msg);
);
/*
Cannot delete column "name" while it is referenced by the formula of column "concat_col".
Removing a formula leaves the data unchanged. Removing references replaces each reference with an empty value. These effects are permanent and cannot be undone.
f = :name || "_" || Char(:name);
exception_msg = {"Column concat_col has no formula"(1, 2, "Delete Formula", Delete Formula /*###*/)};
*/
Formula non visibile nell'elenco delle colonne a sinistra e formula non visibile nemmeno nella casella del pannello Formula.

La formula è lì se faccio clic su Modifica formula. E se cambio "_" in concatenato a " " la formula scompare, la colonna viene bloccata e i valori vengono modificati in datatable:


La soluzione semplice in questo caso potrebbe consistere nell'eliminare prima tutte le formule dalla tabella di dati originale prima di creare la tabella di riepilogo, ma penso che le formule non debbano essere copiate (solo valori) nella tabella di riepilogo, poiché potrebbe avere un comportamento molto strano a seconda delle formule.
Modifica2:
Ora ho inviato un ticket su questo problema/funzionalità che ho descritto al supporto JMP.