Commutatore di colonne e generatore di graficiCIAO,
Ho una serie di colonne che ho raggruppato insieme.
Nel costruttore di grafici ho la costante dell'asse X, ma l'asse Y dovrebbe avere la funzione di cambio colonna in cui possiamo scegliere quale parametro vogliamo cambiare da detto gruppo di colonne.
Per prima cosa dico a JSL quali colonne dovrebbero essere nel gruppo e quale colonna dovrebbe essere la mia prima colonna
colList = dttable << get column names( continuous );
col1 = colList[1];
Questo è il codice e l'errore che ricevo,
Graph Builder(
Size( 570, 621 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :batch_no ), Y( :col1 ) /*###*/ ),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher( :col1, {:colList} )
)
Puoi dirmi cosa dovrei scrivere per la variabile Y in modo da poter iniziare con la prima colonna e quindi aggiungere il commutatore di colonna.
grazie in anticipo
Analisi e modellazione dei dati di baseAccesso ai datiProgettazione di esperimentifinestreRi: Commutatore di colonne e generatore di graficiStai specificando
:col1
I due punti indicano a JMP che esiste una colonna nella tabella dati denominata "col1" (vedere l'ambito nella documentazione di JMP); Col1 è una variabile di memoria, non una colonna. Rimuovi i due punti e il tuo codice dovrebbe funzionare.
Re: Cambio di colonna e Generatore di graficiCiao Jim,
Grazie per l'aiuto.
Ora ho capito il grafico, ma il cambio di colonna non funziona ancora.
dtrelsplit << Newscript ("graph",
Graph Builder(
Size( 570, 621 ),<BR />
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :batch_no ),
Y(col1),
),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher(
col1, {colList}
),
),
Column Switcher cannot find specified column col1 in platform script</CODE></PRE>
<P>Questo è l'errore mostrato</P>
<BR />
</LINGO-BODY>
<LINGO-SUB id="lingo-sub-724513" slang="en-US" mode="CREATE">Re: Cambio di colonna e Generatore di grafici</LINGO-SUB>
<LINGO-BODY id="lingo-body-724513" slang="en-US" mode="CREATE">
<P>Ecco le mie modifiche</P>
<PRE><CODE class=" language-jsl">Graph Builder(
Size( 570, 621 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( <SPAN class="lia-emoticons-autosuggestions"><SPAN class="lia-emoticons-search-term">:batch_no</SPAN></SPAN> ), Y( as column(col1) ) ),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher( col1, colList )
)
;
colList è un elenco, quindi non richiede un secondo set di {}
Re: Cambio di colonna e Generatore di graficiGrazie
Re: Cambio di colonna e Generatore di graficiJMP è diventato più rigoroso?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
colLst = { :Height, :Weight, :Age };
// doesn't work
dt << New Script( "test",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, colLst )
)
);
// does work
dt << New Script( "test2",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, { :Height, :Weight, :Age } )
)
);
// does work
Eval( Eval Expr( dt << New Script( "test3",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, Expr( colLst ) )
)
)));
Re: Cambio di colonna e Generatore di graficiA quali due versioni di JMP fai riferimento?
Re: Cambio di colonna e Generatore di graficiJMP19.
Modifica: non sarei in grado di dire senza sforzo se la variabile colList funzionasse in JMP18 o in versioni precedenti. Sono sorpreso perché ho trovato diversi riferimenti riguardanti l'uso di variabili a cui vengono passati elenchi per un ulteriore utilizzo.
Re: Cambio di colonna e Generatore di grafici@Ressel ,
Utilizzando un'istanza pulita e appena eseguita di JMP 18, lo script di esempio che hai incluso nel caso in cui hai lasciato intendere che funzionasse per te in JMP 18 non ha funzionato per me.
Il problema è dovuto all'isolamento che JMP fornisce per lo script di esempio che hai incluso, dove ha come prima riga
Names Default To Here( 1 );
Questa funzione isola le variabili create in modo che siano univoche per quella specifica esecuzione dello script. Pertanto, la variabile collist è nota allo script solo al momento della sua esecuzione. Quando viene eseguito lo script incorporato salvato nella tabella dati, si crea un nuovo ambiente di script e la variabile collist non è definita.
Il motivo per cui le due versioni del codice che vengono eseguite correttamente funzionano effettivamente è perché nel primo caso i valori sono codificati nello script e nel secondo caso
Expr( colLst )
espande la variabile colist in valori hardcoded prima che il codice venga eseguito, rendendo lo script incorporato nella tabella dati una versione hardcoded dello script.
Quindi, nel tuo caso, JMP 19 non è cambiato dalla versione 18
Re: Cambio di colonna e Generatore di graficiAh, ok. Immagino che questo sia un problema di "name space"?
Inoltre, non ho affermato che funzionasse per me in JMP18. Mi chiedevo perché la soluzione proposta qui, che sembrava così chiara, non funzionasse. Poi ho erroneamente sospettato che potesse essere correlata all'evoluzione di JSL. Non è così.
Grazie per il chiarimento!
Re: Cambio di colonna e Generatore di graficibella conversazione : )
lente d'ingrandimento sui dadi e bulloni di JSL ...
Mi chiedevo solo qual è la differenza tra Variabili() e Column Switcher() in
Variables( ... Y( as column(col1) ) ),
Column Switcher( col1, colList )
Anche questo funziona:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
cols = dt << get column names( continuous );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(col1 ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
così come questo:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
cols = dt << get column names( continuous, "String" );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(Column(col1) ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
cosa non funziona:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
cols = dt << get column names( continuous, "String" );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(col1 ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
quindi, Commutatore di colonna() va bene con una Stringa ,
Variabili() necessita di un nome o di una colonna (creata tramite As Column() o colonna() )
Re: Cambio di colonna e Generatore di grafici@hogi , il significato dei tuoi risultati è che non si tratta di un problema di ambiente o di spazio dei nomi, ma di qualcosa di diverso?
Re: Cambio di colonna e Generatore di graficiNo, il problema con gli script delle tabelle è un problema di namespace, come ha spiegato @txnelson .
Stringa vs. nome vs. colonna è solo un altro aspetto che si può imparare.