Salut, j'essaie d'utiliser une liste de noms qui peuplent une colonne pour sélectionner les lignes correspondantes d'une autre colonne (dans une autre table) afin de sous-ensemble 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".Vous trouverez ci-joint un tableau de test simplifié.
J'apprécierai tous les conseils / solution / suggestions.
Vous étiez assez proche de faire ce que vous vouliez.Voici ma retouche de votre code.Veuillez noter que votre liste tableList est redondante avec la liste newdt que vous référencez.
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();
);