如何创建循环并在子集表中添加列并根据特定列值添加值?大家好,我有一个表子集
我有两个问题。
1.如何创建一个循环,将列“Ref”添加到每个子集表?
2. 另外,创建的列的值是否可能基于具有特定值的 N 行中的最高数量?
例如,要添加的新列将是Ref 。列 Ref 的值将基于列 Country,其中它应该仅将 America 的最高 N 行值加 1。
| 国家 | N 行 | 参考 |
| 阿根廷 | 4 | |
| 美国 | 0 | |
| 美国 | 5 | 1 |
| 巴西 | 2 | |
| 巴西 | 4 | |
| 加拿大 | 2 | |
爱
自动化和脚本视窗回复:如何在子集表中添加列并根据特定列值添加值?我不确定您对“列子集”的定义是什么。您指的是从
表=>子集
当选中“子集依据”时

并且为所选变量的每个级别制作一个单独的表格?
回复:如何在子集表中添加列并根据特定列值添加值?对表进行子集化后,如何创建循环以在所有子集表上添加列“Ref”?
*将重新表述问题
回复:如何在子集表中添加列并根据特定列值添加值?以下是循环的一种方式的示例。真正的问题是如何获取要循环的表列表。此示例假设
表=>子集
使用 Subset By
names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dtSubsetList = dt << Subset(
By( :sex ),
All rows,
Selected columns only( 0 ),
columns( :name, :age, :height, :weight )
);
for each( {table}, dtSubsetList,
table << new column( "Ref");
wait(0);
table:ref[table << get rows where( :age == col max(:age))]=1;
);回复:如何在子集表中添加列并根据特定列值添加值?如果我的数据看起来像这样怎么办?Country 列是字符类型,我如何获取其最高 N 行?假设我从 America 获取最高 N 行。从您给出的示例来看,我认为它是数字数据类型
| 国家 | N 行 | 参考 |
| 阿根廷 | 4 | |
| 美国 | 0 | |
| 美国 | 5 | 1 |
| 巴西 | 2 | |
| 巴西 | 4 | |
| 加拿大 | 2 | |
回复:如何在子集表中添加列并根据特定列值添加值?我认为你需要的是类似的东西
table:ref[table << get rows where( :Country == "America" & :N Rows == col max(:N Rows, :Country))]=1;
我建议你花点时间阅读脚本指南,学习 JSL。如果你不熟悉编程和至少一种编程语言,我建议你在互联网上搜索“学习如何编程”的免费课程。