Sottoinsieme concatenato, all'interno di un ciclo<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho un ciclo durante ogni iterazione di cui seleziono un sottoinsieme di righe.
Sto cercando di concatenare quelle righe e quindi, dopo essere uscito dal ciclo, mostrare l'elenco delle righe selezionate durante ogni ciclo in un elenco.
Praticamente quello che ho è:
coorte ={xxx, aaa, zzz};
for (i=1, i<= N elementi (coorte), i++,
dt << Seleziona dove( inizia con( :subject, cohort );
subCohort = dt << Subset( output table name( "test" ), Selected Rows( 50 ), invisible );
freezerlist = concatena (subCohort);
);
mostra(lista congelatore);
Da quanto sopra ottengo una singola finestra con la tabella dei sottoinsiemi "test" per ogni iterazione, ma non riesco a farli unire in un elenco.
Grazie per qualsiasi aiuto.
Abramo
Ri: Concatena sottoinsieme, all'interno di un cicloGrazie - funziona bene!
Ri: Concatena sottoinsieme, all'interno di un cicloCostruire un po' di msharp la risposta di, forse questo è quello che stai cercando:
new = Nuova tabella( "FreezerList" ); // Crea una tabella vuota;
coorte = {xxx, aaa, zzz};
For( i = 1, i <= N elementi( cohort ), i++,
dt << Seleziona dove( Inizia con( :subject, cohort ), selezione corrente( "extend" ) );
subCohort = dt << Subset( output table name( "test" ), Selected Rows( 1 ), invisible );
new<< Concatenate( subCohort, Aggiungi alla prima tabella );
Close( subCohort, NoSave );
);
Ri: Concatena sottoinsieme, all'interno di un cicloEcco un pezzo di codice funzionante che credo possa essere vicino a quello che vuoi ...... Sto supponendo che tu quali siano i dati effettivi dalle righe selezionate e non i numeri di riga.
I nomi predefiniti sono qui ( 1 ) ;
dt = Aprire ( "$DATI_ESEMPIO\Classe grande.jmp" ) ;
// Modificare il nome della colonna "name" in "subject"" in modo che corrisponda all'esempio
dt : nome << imposta nome ( "argomento" ) ;
coorte = { "C" , "J" , "S" } ;
dt << Seleziona Dove ( Inizia con ( : argomento , coorte[ 1 ] ) ) ;
baseDT = dt << Sottoinsieme (nome tabella di output( "Test" ) , righe selezionate ( 1 ) , colonne selezionate( 0 ) ) ;
Per ( io = 2 , io <= N articoli ( coorte ) , io ++,
dt << Seleziona Dove ( Inizia con ( : argomento , coorte ) ) ;
TempDT = dt << Sottoinsieme (nome tabella di output( "Test" ) , righe selezionate ( 1 ) , colonne selezionate( 0 ) ) ;
baseDT = baseDT << concatenare (TempDT , aggiungi alla prima tabella( 1 ) ) ;
Vicino (TempDT , nosalva) ;
) ;
freezerlist = baseDT : argomento <
mostrare (lista congelatore) ;
Ri: Concatena sottoinsieme, all'interno di un cicloSpiacente ...
A parole quello che sto cercando di fare è usare un ciclo per leggere una lunga tabella per una riga alla ricerca di un certo prefisso (che cambia su ogni ciclo) e molti altri criteri (che sono statici).
Ad ogni passaggio attraverso il ciclo, vengono identificate determinate righe.
Il prefisso cercato cambia a ogni iterazione ma gli altri criteri rimangono gli stessi.
Quello che voglio è creare un unico elenco (chiamato freezerlist) contenente le righe identificate in ciascun ciclo.
Grazie
Ri: Concatena sottoinsieme, all'interno di un cicloQuesto è fonte di confusione, non sono davvero sicuro di cosa stai cercando di fare. (freezerlist = concatenate(subCohort)) non ha senso e non posso fare testa o croce poiché non so cosa sia freezerlist.Immagino che dovrebbe essere una tabella di dati.
Stai eseguendo il looping, creando sottoinsiemi e quindi provando a concatenare quei sottoinsiemi?In tal caso, voglio sapere perché non lo fai tutto in una volta e crei solo un sottoinsieme?
coorte = { xxx , aaa , zzz } ;
per ( io = 1 , io <= N elementi ( coorte ) , io ++,
dt << Seleziona Dove ( inizia con ( : argomento , coorte [ io ]) , selezione corrente ( "estendere" )) ;
) ;
subCoorte = dt << Sottoinsieme ( nome della tabella di output ( "test" ) , Righe selezionate ( 1 ) , invisibile ) ;
freezerlist = dt << Ottieni colonne selezionate ;
mostrare ( freezerlist ) ;
Nota: è possibile concatenare stringhe, liste, matrici e tabelle di dati.
Concat ( stringa1 , stringa2 ) ;
Concat ( matrice1 , matrice2 ) ;
datatable1 << Concatenare ( datatable2 ) ;