こんにちは私は、テーブルをサブセット化し、いくつかの異なるサブセットを生成するために、列に入力する名前のリストを使用して、別の列(別のテーブル内)の一致する行を選択しようとしています。
最初の列から名前/値を取得することは問題ありませんが、ループの正しい構文が見つかりません。
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 Forこのコードは非常にうまく機能するので、私の基本的なロジックは問題ないと思います
dt4 << select where( As Column("Type") =="2021_file1_T2");
dt4 << Select Columns(all);
dt4 << Subset (Selected columns);しかし、[i]を「SelectWhere」に渡す方法がわかりません。添付されているのは、簡略化されたテストテーブルです。
ヒント/解決策/提案をいただければ幸いです。
あなたはあなたがやりたいことを成し遂げるのにかなり近かった。以下はあなたのコードの私の作り直しです。tableListリストは、参照しているnewdtリストと重複していることに注意してください。
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();
);