Ho pensato che @uday_guntupalli il codice dovrebbe funzionare, tuttavia in 13.2.1 non funzionerebbe (strano).Tuttavia, l'utilizzo di As Column() anziché Column() ha consentito il funzionamento del codice specifico
Names Default To Here( 1 );
dt3 = Open( "$SAMPLE_DATA/Big Class.jmp" );
logis = "55";
clos = "Height";
dt3 << Select Where( As Column( dt3, clos ) == Num( logis ) );
dt3 <Ri: Scriptable[] o 'l'invio prevede un oggetto scriptabile'Scusate, dovevo essere più chiaro.Il problema che sto riscontrando riguarda la fine del mio codice dopo aver creato una terza tabella dati dt3. Tutto prima dell'ultima riga di codice attiva funziona bene [ottenere righe e colonne nella prima tabella dati dt, impostare gli input PM#=2 e Logistic#=1 vanno bene].Non riesco proprio a selezionare più righe in dt3 dove Logistic# =1 .
Ho provato diversi metodi diversi, come indicato nell'estratto di codice seguente, ma il codice viene terminato con la nota "Scriptable[]" o con l'errore "Invia prevede oggetto scriptabile".Non sono sicuro di dove nel codice seguente ne venga impedito il corretto funzionamento.
<SPAN class="token comment">//dt3<<GET rows="" where="">
dt3<SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN>Selet Where<SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">:</SPAN><SPAN class="token function">Column</SPAN><SPAN class="token punctuation">(</SPAN> dt3<SPAN class="token punctuation">,</SPAN> clos <SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">==</SPAN> <SPAN class="token function">Num</SPAN><SPAN class="token punctuation">(</SPAN> logis <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN> <SPAN class="token comment">//Method#2</SPAN>
<SPAN class="token comment">//For(i=1, i=NRows(dt3), i++, //Method#3</SPAN>
<SPAN class="token comment">//If( Column( dt3, clos )[i] == Num( logis ),</SPAN>
<SPAN class="token comment">// Column( dt3, clos )[i] << Set Selected( 1 )); );</SPAN>
<SPAN class="token comment">//For Each Row(If( :Column( dt3, clos ) == Num( logis ), :Column( dt3, clos ) << Set //Selected(1)); //Method#4</SPAN></GET></SPAN>
Ri: Scriptable[] o 'l'invio prevede un oggetto scriptabile'Ecco uno script che copre il primo problema nella tabella dati, selezionando la riga dopo aver trovato "NUM_DATA_ROWS:
lamstationfile = Pick File( "choose file", "$Documents" );
dt = Open( lamstationfile, Import Settings( End Of Field( Tab ),
Scan Whole File( 1 ), Column Names Start( 7 ), Data Starts( 8 ), ) );
dt = Current Data Table();
//find data rows
w = N Row( dt );
dt << Select Where( :Time == "NUM_DATA_ROWS" ) << Label( 1 );
d = dt << Get Selected Rows;
Show( d );
// A matrix is returned from << Get Selected Rows, so you need to reference d[1]
dt << Select Where( Row() > (d[1] - 1) );
dt2 = dt << Subset( Selected Rows( 1 ), Selected columns only( 0 ) );
dt /*<< Select Where( Row() > (d - 1) )*/ << Delete Rows;
// Change first two columns to numeric data
Column( dt, 1 ) << Data Type( Numeric );
Column( dt, 1 ) << Modeling Type( "Continuous" );
Column( dt, 1 ) << format("hr:m:s");
Column( dt, 2 ) << Data Type( Numeric );
Column( dt, 2 ) << Modeling Type( "Continuous" );
Per quanto riguarda la selezione delle colonne e quindi il sottoinsieme, suggerirei di utilizzare lo strumento di selezione delle colonne integrato, "Visualizzatore colonne" anziché creare il proprio strumento di selezione.
dt << Columns Viewer;
Ri: Scriptable[] o 'l'invio prevede un oggetto scriptabile'Scusa.I dati sono ora opportunamente allegati.
Ri: Scriptable[] o 'l'invio prevede un oggetto scriptabile'@asdf :
Il file allegato (.zip) è vuoto, quindi i tuoi dati non sono stati forniti per testare il codice e visualizzare l'errore per la risoluzione dei problemi.
In assenza dei dati effettivi con cui stai lavorando, diamo un'occhiata a questo esempio.
dt = Open( "$SAMPLE_DATA/Air Traffic.jmp" );
dt << Select Where(:Airline == "Delta" & :Event == "Arrive");
Come puoi vedere, puoi selezionare le righe in cui vengono soddisfatte due condizioni diverse su due colonne diverse.
Nel tuo caso, se il PM#=2 e Logistic#=1 si riferiscono a 2 tabelle diverse: quindi devi unire le tabelle in base a colonne comuni per ciò che cerchi.
In caso contrario, fornire i dati campione effettivi.