Concaténer un sous-ensemble, dans une boucle<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai une boucle à chaque itération dont je sélectionne un sous-ensemble de lignes.
J'essaie de concaténer ces lignes puis, après avoir quitté la boucle, d'afficher la liste des lignes sélectionnées lors de chaque boucle dans une liste.
En gros ce que j'ai c'est :
cohorte ={xxx, yyy, zzz} ;
pour (i=1, i<= N items (cohorte), i++,
dt << Sélectionnez Où( commence par( :sujet, cohorte );
subCohort = dt << Subset( output table name( "test" ), Selected Rows( 50 ), invisible );
liste de congélation = concaténation (sous-cohorte);
);
show(freezerlist);
De ce qui précède, j'obtiens une fenêtre individuelle avec la table de sous-ensemble "test" pour chaque itération, mais je n'arrive pas à les réunir dans une liste.
Merci pour toute aide.
Avram
Re : Concaténer un sous-ensemble dans une boucleMerci - cela fonctionne bien !
Re : Concaténer un sous-ensemble dans une boucleConstruire un peu de msharp , c'est peut-être ce que vous cherchez :
new = Nouvelle Table( "FreezerList" ); // Crée une table vide ;
cohorte = {xxx, yyy, zzz} ;
For( i = 1, i <= N Items( cohort ), i++,
dt << Sélectionnez Où( Commence par( :sujet, cohorte ), sélection courante( "étendre" ) );
subCohort = dt << Subset( output table name( "test" ), Selected Rows( 1 ), invisible );
new<< Concatenate( subCohort, Add to First Table );
Close( subCohort, NoSave );
);
Re : Concaténer un sous-ensemble dans une boucleVoici un morceau de code de travail qui, je pense, peut être proche de ce que vous voulez ...... Je suppose que vous avez les données réelles des lignes sélectionnées, et non les numéros de ligne.
Noms par défaut ici ( 1 ) ;
dt = Ouvrir ( "$SAMPLE_DATA\Grande classe.jmp" ) ;
// Remplacez le nom de la colonne "name" par "subject"" pour correspondre à l'exemple
dt : Nom << définir le nom ( "matière" ) ;
cohorte = { "C" , "J" , "S" } ;
dt << Sélectionnez où ( Commence avec ( : matière , cohorte[ 1 ] ) ) ;
baseDT = dt << Sous-ensemble ( nom de la table de sortie( "Test" ) , lignes sélectionnées( 1 ) , colonnes sélectionnées( 0 ) ) ;
Pour ( je = 2 , je <= N articles ( cohorte ) , je ++,
dt << Sélectionnez où ( Commence avec ( : matière , cohorte ) ) ;
TempDT = dt << Sous-ensemble ( nom de la table de sortie( "Test" ) , lignes sélectionnées( 1 ) , colonnes sélectionnées( 0 ) ) ;
baseDT = baseDT << enchaîner ( TempDT , ajouter au premier tableau( 1 ) ) ;
Fermer ( TempDT , nosave ) ;
) ;
liste de congélation = baseDT : matière <
Afficher (liste de congélation) ;
Re : Concaténer un sous-ensemble dans une bouclePardon ...
En d'autres termes, ce que j'essaie de faire est d'utiliser une boucle pour lire dans un long tableau une ligne à la recherche d'un certain préfixe (qui change à chaque boucle) et de plusieurs autres critères (qui sont statiques).
A chaque passage dans la boucle, certaines rangées sont identifiées.
Le préfixe recherché change à chaque itération mais les autres critères restent les mêmes.
Ce que je veux, c'est créer une seule liste (appelée freezerlist) contenant les lignes identifiées dans chaque boucle.
Merci
Re : Concaténer un sous-ensemble dans une boucleC'est déroutant, je ne suis pas vraiment sûr de ce que vous essayez de faire. (freezerlist = concatenate(subCohort)) n'a pas de sens, et je ne peux pas faire pile ou face puisque je ne sais pas ce qu'est la liste de congélation.Je suppose que c'est supposé être une table de données.
Faites-vous une boucle, créez-vous des sous-ensembles, puis essayez-vous de concaténer ces sous-ensembles ?Dans ce cas, je veux savoir pourquoi vous ne faites pas tout en même temps et ne créez qu'un seul sous-ensemble ?
cohorte = { xxx , aaa , zzz } ;
pour ( je = 1 , je <= N articles ( cohorte ) , je ++,
dt << Sélectionnez où ( commence avec ( : matière , cohorte [ je ]) , sélection actuelle ( "se déployer" )) ;
) ;
sous-cohorte = dt << Sous-ensemble ( nom de la table de sortie ( "test" ) , Lignes sélectionnées ( 1 ) , invisible ) ;
liste de congélation = dt << Obtenir les colonnes sélectionnées ;
Afficher ( liste de congélation ) ;
Remarque : vous pouvez concaténer des chaînes, des listes, des matrices et des tables de données.
Concat ( chaîne1 , chaîne2 ) ;
Concat ( matrice1 , matrice2 ) ;
table de données1 << Enchaîner ( table de données2 ) ;