Bonjour, j'essaie d'utiliser une liste de noms qui remplissent une colonne pour sélectionner les lignes correspondantes d'une autre colonne (dans une autre table) afin de sous-ensembler la table et de générer plusieurs sous-ensembles différents.
Obtenir les noms/valeurs de la première colonne n'est pas un problème mais je ne trouve pas la syntaxe correcte pour la boucle.
dt4 = Current Data Table();
uniqueVals = {"2021_file1_T1", "2021_file1_T2"};
tableList= {};
For(i=1, i< N Items(uniqueVals), i++,
dt4 << select where( As Column("Type") == [i] ) );
dt4 << Select Columns (all);
newdt[i] = dt4 << Subset( Selected columns );
Insert Into(tableList, Data Table(newdt[i]));
dt4 << Clear Column Selection();
dt4 << Clear Select();
);// end of ForJe pense que ma logique de base est OK puisque ce code fonctionne très bien
dt4 << select where( As Column("Type") =="2021_file1_T2");
dt4 << Select Columns(all);
dt4 << Subset (Selected columns);Mais je n'arrive pas à comprendre comment passer [i] au "Select Where".Ci-joint un tableau de test simplifié.
J'apprécierai tous les conseils/solutions/suggestions.
Salut @txnelson , Si proche et pourtant si loin.... Merci beaucoup pour votre aide.
Vous étiez sur le point de faire ce que vous vouliez.Voici ma refonte de votre code.Veuillez noter que votre liste tableList est redondante avec la liste newdt à laquelle vous faites référence.
dt4 = Current Data Table();
uniqueVals = {"2021_file1_T1", "2021_file1_T2"};
//tableList = {};
newdt = {};
For( i = 1, i <= N Items( uniqueVals ), i++,
dt4 << select where( As Column( "Type" ) == uniqueVals[i] );
dt4 << Select Columns( all );
newdt[i] = dt4 << Subset( Selected columns );
//Insert Into( tableList, Data Table( newdt[i] ) );
dt4 << Clear Column Selection();
dt4 << Clear Select();
);