你好,
JMP 新手,搜索并阅读了大量帮助,并在圈子里转来转去。 我会认为我正在做的事情简单直接,但没有从 JSL 中获得那种感觉。 我有一个更复杂的数据表,但为了让我的代码正常工作,我简化了我的表。 我有一个有 5 列的表,每列 4 列的标题中有“_Yield”。 13 行由 1 和 0 组成,我要做的是为每一行创建一个列,显示产量列中第一次出现的 1。 我需要这很聪明,因为列名(包含 _yield 除外)并不总是具有相同的名称或位于相同的位置。 我已经弄清楚如何只查看产量列并将其转换为矩阵,然后我可以在其中找到我正在寻找的值。 我只是无法将这些值转换为列标题。 测试列显示矩阵中的位置,下面的结果列显示我应该在帮助列中得到什么。提前致谢。

dt = 当前数据表();
lst = dt << 获取列名(字符串);
dt << 清除列选择;
对于(i = 1,i <= N 项(lst),i++,
如果(包含(lst[i],“_Yield”)> 0,
列(dt,lst[i])<<设置选择;
selcols = dt << 获取选定的列;
));
Mat2 = dt << 获取矩阵(selcols);
DesList = list();
for(i = 1 , i <= N 行(Mat2), i++,
Pos = Min(Loc(Mat2[i,0]));
插入(DesList,Pos);
);
dt << New Column("Test",Numeric,Continuous,<< Set Values(DesList));
cols = dt << 获取列引用(dt << 获取列名);
dt << New Column("Result", formula(If( Contains( Eval List( selcols ), 1 ) == 1,
"B_Yield",
如果(包含(评估列表(selcols),1)== 2,
"C_Yield",
如果(包含(评估列表(selcols),1)== 3,
"D_Yield",
如果(包含(评估列表(selcols),1)== 4,
"E_Yield",
“经过”
))))
));
values1 = Column(dt, selcols[1]) << 获取值;
NewColName = "帮助";
dt << 新列(NewColName,字符);
newColumn = Column(NewColName);
对于(j = 1,j <= N 项(values1),j++,
//yield = list box(selcols, << set selected(2,1), Print ("list",yield << get selected, yield << get selected indices));
结果 = (Deslist[j] >= 1);
if(结果 >= 1,(newcolumn[j]= selcols),
丢失(结果),(newColumn[j]= Parse("PASS")));
);