imposta il tipo di dati per la nuova colonnaCiao, come posso impostare in modo condizionale e programmatico un tipo di dati per una nuova colonna? Ho una soluzione alternativa che copre numerici/caratteri e potrebbe essere estesa per altri tipi, ma sto cercando di far funzionare il metodo seguente (contrassegnato come "non funzionante"). Il registro mostra che non sta riconoscendo la variabile di tipo. Ho provato alcune cose come parse() ma finora non ho avuto successo.
Names Default To Here( 1 );
dt = open( "$SAMPLE_DATA\Big Class.jmp");
colType = column(dtData,"Name") << get data type;
// doesn't work, error on colType
dt << add multiple columns("New Column", 1, After("Name"), colType);
// works
dt << add multiple columns("New Column", 1, After("Name"), Numeric);
if(colType == "Character", column(dt, "New Column") << data type ("Character"));Re: imposta il tipo di dati per la nuova colonnaJim ha inchiodato; ecco alcuni altri modi per costruire quella dichiarazione nel caso in cui qualcuno risuoni meglio con il tuo codice:
Inserisci un'espressione in un'altra usando Eval Insert, Eval Expr, Parse e Substitute
Re: imposta il tipo di dati per la nuova colonnaL'Aggiungi più colonne non sembra consentire l'analisi prima dell'esecuzione effettiva dell'istruzione.Pertanto, ciò che viene presentato come Aggiungi più colonne deve essere completamente ampliato prima di darlo a JMP per l'esecuzione.Ecco un paio di modi per farlo
Names Default To Here( 1 );
dt = Current Data Table();
coltype = "character";
Eval(
Parse(
Eval Insert(
"dt << add multiple columns(\!"New Column\!", 1, After(\!"Name\!"), ^colType^)"
)
)
);
// or
Eval(
Substitute(
Expr(
dt << add multiple columns(
"New Column",
1,
After( "Name" ),
__type__
)
),
Expr( __type__ ), colType));