Aiuta ad estrarre il nome della variabile trasformata al voloCiao a tutti,
Ho bisogno di aiuto con un problema apparentemente semplice ma per il quale non riesco a trovare una soluzione. Ho scritto un codice JSL per fare alcuni calcoli e le prime cose che fa è aprire una finestra di dialogo Colonna in cui è possibile scegliere le colonne della tabella e inserirle in ruoli diversi (nel mio caso le variabili X e Y). Quello che devo fare è ottenere i nomi di queste colonne di tabella in modo che io possa usarle in seguito per mostrare i nomi degli assi (usando le funzioni Yname e Xname) in una casella Graph. Tutto va bene quando le colonne della tabella vengono utilizzate direttamente. Tuttavia, se eseguo una trasformazione al volo facendo clic con il pulsante destro sulla variabile prima di assegnarla a un ruolo nella finestra di dialogo Colonna, le cose diventano più complicate. Normalmente, vorrei usare qualcosa come:
yn= as column(eval( cdw["yv"])) << Get Name;
dove cdw nell'oggetto restituisce dalla finestra di dialogo della colonna. Tuttavia, nel caso di una variabile trasformata, produrrà
yn = deleted object reference[];
Se abbatto il problema, il eval (cdw [ "YV" ])) produrrebbe una lista di un elemento simile a:
{Trasforma colonna ("Log10 [ Nome della tabella colum ] ", Formula (Log10 (: Nome (" Nome della tabella colum "))))}}
Come posso estrarre da quella solo la parte log10 [ Nome della tabella colum ] in modo che io possa usarlo in un'istruzione Yname o Xname in una Graph Box ??
Molte grazie per qualsiasi aiuto tu possa fornire.
Saluti, Yves
Ri: aiuta a estrarre il nome della variabile trasformata al voloHai ragione, pensavo che [1] fosse perché c'era più di una variabile selezionata in quel ruolo. Ci scusiamo per non aver testato la soluzione più a fondo prima di rispondere!
Molte molte grazie, Yves
Ri: aiuta a estrarre il nome della variabile trasformata al voloPenso che tu stia facendo qualcosa di diverso. Ecco il mio registro dopo aver eseguito il codice che ho postato.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Consumer Preferences.jmp" );
cd=Column Dialog(
ex y = ColList( "Y", Min Col( 1 ), Max Col( 2 ), Data Type( "Numeric" ) ),
ex x = ColList( "X",
Max Col( 1 ),
Modeling Type( {"Continuous", "Multiple Response"} )
),
Line Up( 2,
Text Box( "Alpha" ), ex = EditNumber( .05 ),
Text Box( "Beta" ), ey = EditText( "xyz" )
),
HList( cb = Check Box( "check", 1 ) ),
HList( combo = Combo Box( "option1", "option2" ) ),
HList( rb = RadioButtons( "a", "b" ) )
);
show(cd["ex y"], arg(cd["ex y"][1], 1));
/*:
//cd["ex y"] = {Transform Column("Birth Year^3", Formula(:Birth Year ^ 3))};
//Arg(cd["ex y"][1], 1) = "Birth Year^3";Ri: aiuta a estrarre il nome della variabile trasformata al voloGrazie Jeff, ma non sembra funzionare neanche (mi sento un po 'meno stupido ora che 2 esperti hanno offerto consigli e sono arrivati allo stesso punto di me!). Di nuovo l'arg () restituirà il tutto:
Transform Column("Age Group^3", Formula(:Age Group ^ 3))Mi piacerebbe essere in grado di usare solo
Age Group^3
Yves
Ri: aiuta a estrarre il nome della variabile trasformata al voloIl arg () la funzione ti porterà lì.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Consumer Preferences.jmp" );
cd=Column Dialog(
ex y = ColList( "Y", Min Col( 1 ), Max Col( 2 ), Data Type( "Numeric" ) ),
ex x = ColList( "X",
Max Col( 1 ),
Modeling Type( {"Continuous", "Multiple Response"} )
),
Line Up( 2,
Text Box( "Alpha" ), ex = EditNumber( .05 ),
Text Box( "Beta" ), ey = EditText( "xyz" )
),
HList( cb = Check Box( "check", 1 ) ),
HList( combo = Combo Box( "option1", "option2" ) ),
HList( rb = RadioButtons( "a", "b" ) )
);
foo=arg(cd["ex y"][1], 1);Ri: aiuta a estrarre il nome della variabile trasformata al voloGrazie Jim per la tua rapida risposta, ma questo non funzionerà davvero perché userà il tutto, cioè
Transform Column("Age Group^3", Formula(:Age Group ^ 3)) come nome dell'asse. Questo è piuttosto ingombrante in un grafico. Quindi sto cercando di estrarre solo il
Age Group^3
parte come nome dell'asse.
Grazie ancora, Yves
Ri: aiuta a estrarre il nome della variabile trasformata al voloTratto dallo Scripting Index per Col Dialog
Aiuto ==> Scripting Index ......... cerca su Col Dialog
Ecco lo script di esempio
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Consumer Preferences.jmp" );
xx = Column Dialog(
ex y = ColList( "Y", Min Col( 1 ), Max Col( 2 ), Data Type( "Numeric" ) ),
ex x = ColList( "X",
Max Col( 1 ),
Modeling Type( {"Continuous", "Multiple Response"} )
),
Line Up( 2,
Text Box( "Alpha" ), ex = EditNumber( .05 ),
Text Box( "Beta" ), ey = EditText( "xyz" )
),
HList( cb = Check Box( "check", 1 ) ),
HList( combo = Combo Box( "option1", "option2" ) ),
HList( rb = RadioButtons( "a", "b" ) )
);
show( xx );
Ho aggiunto un riferimento al Col Dialog Box () stesso. Se lo si esegue e si crea una variabile di trasformazione nella finestra di dialogo Col, verrà mostrato che una lista chiamata "xx" contiene le informazioni necessarie.
xx = {ex y = {Transform Column("Age Group^3", Formula(:Age Group ^ 3))}, ex x = {}, Text Box, ex = 0.05, Text Box, ey = "xyz", cb = 1, combo = 1, rb = 1, Button(1)};
È possibile ottenere queste informazioni estraendo dall'elenco ex y dall'elenco xx