やあ、
JMP は初めてで、たくさんのヘルプを検索して読んだり、ぐるぐる回ったりしています。 私がやっていることは簡単で簡単だと思いますが、JSL からはそのような感覚を得ることはできません。 より複雑なデータ テーブルがありますが、コードを機能させるために、テーブルを単純化しました。 5 列のテーブルがあり、それぞれの 4 列の見出しに「_Yield」があります。 13 行は 1 と 0 で構成されています。私がやろうとしているのは、yield 列で 1 が最初に出現したことを示す列を各行に作成することです。 列名 (_yield を含むものを除く) が常に同じ名前を持っているとは限らないため、これをスマートにする必要があります。 収量列を確認する方法を理解し、これを行列に変換して、探している値を見つけることができます。 これらの値を列ヘッダーに変換することはできません。 テスト列はマトリックスの位置を示し、下の結果列はヘルプ列に表示される内容を示しています。前もって感謝します。

dt = 現在のデータ テーブル();
lst = dt << Get Column Names(string);
dt << 列の選択をクリアします。
For( i = 1, i <= N Items(lst), i++,
If(Contains(lst[i], "_Yield") > 0,
Column( dt, lst[i] ) << セット選択;
selcols = dt << 選択された列を取得します。
));
Mat2 = dt << Get as Matrix(selcols);
DesList = リスト();
for(i = 1 , i <= N 行 (Mat2), i++,
Pos = Min(Loc(Mat2[i,0]));
Insert Into(DesList,Pos);
);
dt << New Column("Test",Numeric,Continuous,<< Set Values(DesList));
cols = dt << Get Column Reference(dt << Get Column Names);
dt << New Column("結果", formula(If( Contains( Eval List( selcols ), 1 ) == 1,
"B_利回り",
If( を含む( Eval List( selcols ), 1 ) == 2,
"C_利回り",
If( を含む( Eval List( selcols ), 1 ) == 3,
"D_利回り",
If( を含む( Eval List( selcols ), 1 ) == 4,
"E_利回り",
"合格"
)))))
));
values1 = Column(dt, selcols[1]) << Get Values;
NewColName = "ヘルプ";
dt << New Column(NewColName, Character);
newColumn = 列 (NewColName);
For( j = 1, j <= N アイテム(値1), j++,
//yield = list box(selcols, << set selected(2,1), Print ("list",yield << get selected, yield << get selected index));
結果 = (Deslist[j] >= 1);
if(結果 >= 1,(newcolumn[j]= selcols),
欠落しています (結果), (newColumn[j]= Parse("PASS")));
);