Problema dello script: nomi di variabili non passati dinamicamente alle istruzioni di valutazione condizionale<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salve a tutti,
Sto riscontrando dei problemi nella stesura di una sceneggiatura che mi farà risparmiare ore di tempo con alcune analisi DOE che stiamo facendo regolarmente.
Ecco cosa voglio che lo script faccia:
1) Crea una nuova variabile per ogni variabile originale nel comando cc = {Variables} che puoi trovare nello script. FUNZIONA BENE.
2) Per ogni nuova variabile creata voglio allegare una dichiarazione condizionale che valuterà se i dati contenuti nella variabile originale sono al di sopra di un certo valore di soglia.
Mi sento come se mi stessi avvicinando, il problema è che all'interno dell'istruzione condizionale il nome effettivo della variabile nel comando cc non viene passato correttamente. Pertanto, il mio script si interrompe.
Se potessi essere così gentile, vorrei capire meglio cosa c'è che non va qui. Per aiutare ho allegato alcuni dati simulati e lo script corrente su cui sto lavorando.
Inoltre, voglio solo assicurarmi che all'interno di uno script sia corretto passare più istruzioni condizionali su più variabili.
Grazie mille per qualsiasi aiuto nell'aiutarmi a imparare da questo problema.
Script (in allegato anche i dati)
CD = Tabella dati corrente () ;
// Nomi di colonna specificati dall'utente
cc = { C1 RLU , C2 RLU , C3 RLU } ;
Per ( io = 1 , io <= N articoli ( cc ) , io ++,
Nuova colonna ( Char ( cc [ io ]) || "5e3" , Numerico , formula ( SE ( cc [ io ] > 5000 , 1 , 0 ))) ;
( Nuova colonna ( Char ( cc [ io ]) || "1e4" , Numerico )) ; 10000 // se il primo condizionale funzionasse, ne verrebbe creato un secondo qui per 10000
( Nuova colonna ( Char ( cc [ io ]) || "2e4" , Numerico ))) ; 20000 // un altro condizionale qui per 20000
Re: Problema dello script: nomi di variabili non passati dinamicamente alle dichiarazioni di valutazione condizionaleVoglio solo ringraziarvi molto per il vostro aiuto. Questo ha risolto il problema, ma soprattutto saprò come risolvere i problemi attraverso questo tipo di problema in un secondo momento.
Davvero apprezzato.
Re: Problema dello script: nomi di variabili non passati dinamicamente alle dichiarazioni di valutazione condizionaleMark Bailey La risposta è buona.
Se vuoi ancora colonne con formule, il trucco è ricordare che JMP presume che la formula debba essere valutata nella colonna, non al momento dell'esecuzione dello script. Di conseguenza, mette cc[1] nella formula al posto del riferimento di colonna. È necessario sostituire il riferimento alla colonna prima di valutare New Column().
cd = Current Data Table();
// User specified column names
cc = {C1 RLU, C2 RLU, C3 RLU};
For( i = 1, i <= N Items( cc ), i++,
Eval(
Substitute(
Expr(
New Column( Char( cc[i] ) || "5e3", Numeric, formula( col > 5000 ) );
New Column( Char( cc[i] ) || "1e4", Numeric, formula( col > 10000 ) );
New Column( Char( cc[i] ) || "2e4", Numeric, formula( col > 20000 ) );
),
expr(col), cc[1]
)
);
);
-Jeff
Re: Problema dello script: nomi di variabili non passati dinamicamente alle dichiarazioni di valutazione condizionaleProva questo script:
CD = Tabella dati corrente () ;
// Nomi di colonna specificati dall'utente
cc = { C1 RLU , C2 RLU , C3 RLU } ;
Per ( io = 1 , io <= N articoli ( cc ) , io ++,
CD << Nuova colonna ( Char ( cc [ io ] ) || "5e3" ,
Numerico ,
I valori (
Locale ( { dati } ,
dati = cc [ io ] << Ottieni come matrice ;
dati > 5000
)
)
) ;
CD << Nuova colonna ( Char ( cc [ io ] ) || "1e4" ,
Numerico ,
I valori (
Locale ( { dati } ,
dati = cc [ io ] << Ottieni come matrice ;
dati > 10000
)
)
) ;
CD << Nuova colonna ( Char ( cc [ io ] ) || "2e4" ,
Numerico ,
I valori (
Locale ( { dati } ,
dati = cc [ io ] << Ottieni come matrice ;
dati > 20000
)
)
) ;
) ;