assegna il valore dopo / prima delle righe attualmente selezionateCiao, per curiosità,
se hai selezionato delle righe ma devi selezionare non solo queste ma anche quelle esattamente adiacenti (prima / dopo, 1 riga rispettivamente), come puoi scrivere questo?
Ora l'ho fatto con la creazione di diverse nuove colonne e l'aggiunta di valori alle righe che vorrei selezionare per poter eseguire successivamente una funzione Select Where.
Un modo più elegante sarebbe molto apprezzato!
Saluti, Astrid
Ri: assegna valore dopo / prima delle righe attualmente selezionateGrazie, questo ha funzionato perfettamente per la mia domanda!
@julian ha scritto:
Ciao Astrid
Sospetto che ci sia un modo più elegante, ma il seguente dovrebbe farlo:
dt = Current Data Table();
curSelRow = as list(dt << Get Selected Rows());
newSelRow = curSelRow || curSelRow + 1 || curSelRow - 1;
//remove a row = 0 reference if present
Remove From( newSelRow, aslist(loc(newSelRow,0)));
//remove reference to a row beyond data set
Remove From( newSelRow, aslist(loc(newSelRow,NRows(dt)+1)));
dt << Select Rows(newSelRow);
modifica: codice aggiunto per rimuovere il riferimento a una riga dopo l'ultima riga nel set di dati (che avverrebbe se l'ultima riga nel set di dati è selezionata)
@julian ha scritto:
Ciao Astrid
Sospetto che ci sia un modo più elegante, ma il seguente dovrebbe farlo:
dt = Current Data Table();
curSelRow = as list(dt << Get Selected Rows());
newSelRow = curSelRow || curSelRow + 1 || curSelRow - 1;
//remove a row = 0 reference if present
Remove From( newSelRow, aslist(loc(newSelRow,0)));
//remove reference to a row beyond data set
Remove From( newSelRow, aslist(loc(newSelRow,NRows(dt)+1)));
dt << Select Rows(newSelRow);
modifica: codice aggiunto per rimuovere il riferimento a una riga dopo l'ultima riga nel set di dati (che avverrebbe se l'ultima riga nel set di dati è selezionata)
Ri: assegna valore dopo / prima delle righe attualmente selezionateGrazie, ha funzionato!
Ri: assegna valore dopo / prima delle righe attualmente selezionatedt = Open( "$SAMPLE_DATA/Cities.jmp" );
dt << Select Randomly(0.1); // Select random rows for demo
SR = dt << Get Selected Rows(); // Get row numbers of selected rows
// Assuming we want to select the rows after the selected rows
for( i = 1, i <= N Row(SR), i++,
NewRowToSelect = SR[i] + 1 ;
dt << Select Rows(NewRowToSelect); // Alternatively can store these values as a list and pass at once
);
Ri: assegna valore dopo / prima delle righe attualmente selezionateCiao Astrid
Sospetto che ci sia un modo più elegante, ma il seguente dovrebbe farlo:
dt = Current Data Table();
curSelRow = as list(dt << Get Selected Rows());
newSelRow = curSelRow || curSelRow + 1 || curSelRow - 1;
//remove a row = 0 reference if present
Remove From( newSelRow, aslist(loc(newSelRow,0)));
//remove reference to a row beyond data set
Remove From( newSelRow, aslist(loc(newSelRow,NRows(dt)+1)));
dt << Select Rows(newSelRow);
modifica: codice aggiunto per rimuovere il riferimento a una riga dopo l'ultima riga nel set di dati (che avverrebbe se l'ultima riga nel set di dati è selezionata)