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 Teilmengen zu generieren.
Das Abrufen der Namen/Werte aus der ersten Spalte ist kein Problem, aber ich kann die korrekte 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 soll.Beigefügt ist eine vereinfachte Testtabelle.
Ich freue mich über Hinweise/Lösungen/Vorschläge.
Hi @txnelson , So nah und doch so fern.... Vielen Dank für Ihre Hilfe.
Du warst ziemlich nah dran, das zu tun, was du willst.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();
);