Hallo, ich versuche, eine Liste von Namen zu verwenden, die eine Spalte füllen, um die übereinstimmenden Zeilen einer anderen Spalte (in einer anderen Tabelle) auszuwählen, um die Tabelle zu unterteilen und mehrere verschiedene Untermengen zu generieren.
Das Abrufen der Namen / Werte aus der ersten Spalte ist kein Problem, aber ich kann die richtige Syntax für die Schleife nicht finden.
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 ForIch denke, dass meine grundlegende Logik in Ordnung ist, da dieser Code sehr gut funktioniert
dt4 << select where( As Column("Type") =="2021_file1_T2");
dt4 << Select Columns(all);
dt4 << Subset (Selected columns);Aber ich kann nicht herausfinden, wie ich [i] an "Select Where" übergeben kann.Anbei eine vereinfachte Testtabelle.
Ich freue mich über Hinweise / Lösungen / Vorschläge.
Sie waren ziemlich nah dran, das zu erledigen, was Sie wollen.Unten ist meine Überarbeitung Ihres Codes.Bitte beachten Sie, dass Ihre tableList-Liste mit der newdt-Liste, auf die Sie verweisen, redundant ist.
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();
);