如何使用列表选择具有特定值的行您好我正在尝试使用填充列的名称列表来选择另一列(在另一个表中)的匹配行,以便对表进行子集化并生成几个不同的子集。
从第一列获取名称/值没有问题,但我找不到循环的正确语法。
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] 传递给“选择位置”。附上一张简化的测试表。
我将不胜感激任何提示/解决方案/建议。
脚本回复:如何使用列表选择具有特定值的行你好@txnelson ,那么近,那么远…… 非常感谢您的帮助。
回复:如何使用列表选择具有特定值的行你已经很接近完成你想要的了。以下是我对您的代码的返工。请注意,您的 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();
);