Ciao
Sono un po' imbarazzato di essere bloccato su questo semplice compito.
È un compito semplice:
Ho 2 tabelle di dati (dt-1 e dt-2). Voglio scorrere la prima e per ogni riga confrontare un valore con un valore nella seconda tabella, a partire dalla prima riga in quella tabella. Se è abbastanza vicino raccoglierò un valore da quel dt-2 e salverò in un campo in dt-1, inserirò un marcatore speciale in un campo in dt-2 così so che la riga è stata presa e passo alla riga successiva i dt -1, se non è abbastanza vicino passerò alla riga successiva in dt-2.
La programmazione è abbastanza semplice:
for(i=1 to i > row_count(dt-1), dt-1 (row-number = i),
for (j=1 a j>conteggio_righe(dt-2), dt-2 (numero-riga = j,
if(dt-2(col-x) == dt1(col-y), dt_2(col-z=1; dt1(col-z)=dt2(col-a); i++; j=0, j++)
)
Le mie domande:
Qual è il comando in jsl per ottenere il conteggio delle righe di un dt?
Qual è il comando in jsl per andare a una riga specifica in un dt?
Qual è il comando in jsl per recuperare il valore da una colonna specifica in una riga specifica?
Qual è il comando in jsl per scrivere dati in un campo specifico in una riga specifica di un dt specifico?
Quando provo a leggere le istruzioni e i manuali rimango bloccato in tutte le discussioni su come creare loop e una semplice programmazione ordinaria, ma non riesco a trovare questi riferimenti a dt, campi e righe. Probabilmente sono cieco, ma per favore aiutami dove guardare!
Qual è il comando in jsl per ottenere il conteggio delle righe di un dt?
num_rows = nrows(dt);
Qual è il comando in jsl per andare a una riga specifica in un dt?
Non vai a una riga specifica, fai semplicemente riferimento al numero di riga tra parentesi.Vedi la tua prossima domanda.
Qual è il comando in jsl per recuperare il valore da una colonna specifica in una riga specifica?Supponendo che la tua colonna specifica sia chiamata colonna_specifica :
one_value = dt:specific_column[i];
Qual è il comando in jsl per scrivere dati in un campo specifico in una riga specifica di un dt specifico?
dt:specific_column[i] = new_value;
C'è almeno un'altra opzione per accedere alla riga MA VORREI SEMPRE preferire il metodo @pmroz mostrato. L'ho usato principalmente per il debug e non per aggiornare i valori nel datatable
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Row() = 10;
:height = 11;
Dai un'occhiata anche a questo post Indicizzazione tabella dati