problema di ciclo quando la colonna è variabileHo una tabella chiamata dt e ha molte colonne. Voglio trovare quelli mancanti in colonne specifiche e riempire con "N". Di seguito è riportato il mio script, ma la variabile col[i] non funziona.Ho provato a sostituire come column(dt, col[i]) con column(dt, col[i]), ma non funziona. Tuttavia, quando sostituisco as column(dt, col[i]) con il vero nome della colonna (esempio, :A), lo script funziona. Qualche suggerimento dove è il mio errore?
col={"A", "B", "C", "D", "E"};
For( i = 1, i<= N Items( col ), i++,
empty_rows = dt << get rows where (is missing(as column(dt, col[i])));
if (nrows(empty_rows) > 0,
as column(dt, col[i])[empty_rows] = "N";
);
);SceneggiaturaRe: problema di loop quando la colonna è variabileIl tuo codice funziona bene.Data una tabella di dati

ed eseguire una copia del codice
names default to here(1);
dt=current data table();
col={"A", "B"};
For( i = 1, i<= N Items( col ), i++,
empty_rows = dt << get rows where (is missing(as column(dt, col[i])));
if (nrows(empty_rows) > 0,
as column(dt, col[i])[empty_rows] = "N";
);
);
Risulta quanto segue

Il problema che potresti riscontrare è che se le tue colonne A, B, C, D, E sono numeriche, non sarai in grado di inserire un valore di carattere nella cella.JMP lo convertirà in un valore mancante "."
Re: problema di loop quando la colonna è variabileCiao Jim,
Grazie Jim per il tuo aiuto.
Ho provato molte volte e ancora non funziona. dopo la tua convalida sul codice. Ho deciso di chiudere JMP e riaprirlo. Questa volta funziona. Mi chiedo se sia causato dal problema della cache? C'è un modo per pulire la cache jmp senza riavviare JMP? La mia ipotesi potrebbe essere sbagliata, ma chiunque può dare suggerimenti sarà utile.