Eliminazione della variabile di colonna/tabella a cui si fa riferimento nella formula utilizzando JSLCiao,
Come affermato nell'argomento di questo post, ho osservato che i comandi JSL "Elimina colonna" o "Elimina variabile tabella" non funzionano quando una delle colonne ha una funzione o una variabile di tabella fa parte di una funzione.
Quando si esegue questa azione "a mano" è presente una finestra di avviso aggiuntiva, che informa l'utente sulle conseguenze di tale azione e consente di scegliere un'azione.
Capisco che questo comportamento è stato introdotto intenzionalmente e mi trovo perfettamente bene.
Vorrei chiedere se c'è qualche opzione/argomento/flag/comando per ignorare questa finestra quando si elimina la variabile di colonna/tabella usando JSL?
Grazie per il tuo aiuto.
Tabella datiSceneggiaturaRi: Eliminazione della variabile di colonna/tabella a cui si fa riferimento nella formula utilizzando JSLNon sono in grado di replicare ciò che intendo come problema di cui mi stai chiedendo. Gli script seguenti eliminano una variabile di tabella e una colonna dall'interno di una formula e una funzione all'interno di ciascuna formula.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << New Table Variable( "Days", 42 );
Wait( 5 );
dt << New Column( "test",
formula(
delTVar = Function( {theVar},
dt << Delete Table Variable( theVar )
);
rc = delTVar( "Days" );
:weight;
)
);
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
Wait( 5 );
dt << New Column( "test",
formula(
delCol = Function( {theCol},
dt << delete columns( theCol )
);
rc = delCol( "height" );
:weight;
)
);Ri: Eliminazione della variabile di colonna/tabella a cui si fa riferimento nella formula utilizzando JSLPenso che non ci sia alcuna bandiera che possa farlo. Forse un posto per l'elemento della lista dei desideri, penso che il flag dovrebbe essere configurabile in modo simile alla versione interattiva che chiede di rimuovere riferimenti, formula o annullare (forse aggiungerei anche Throw).
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("f", Numeric, Continuous, Formula(:height*weight));
dt << Delete Columns({"height", "weight"});
Stamperà per registrare:
Impossibile eliminare le colonne selezionate mentre ad alcune fanno riferimento le formule delle colonne rimanenti.
La rimozione di una formula lascia i dati invariati. La rimozione dei riferimenti sostituisce ogni riferimento con un valore vuoto. Questi effetti sono permanenti e non possono essere annullati.
Scriptabile[]
È possibile acquisire questo messaggio con Log Capture() e quindi eseguire alcuni trucchi JSL per rimuovere in anticipo riferimenti/formule.