你好,
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")));
);