Hi,
Neu bei JMP und habe jede Menge Hilfe gesucht und gelesen und mich im Kreis gedreht. Ich würde denken, was ich tue, ist einfach und unkompliziert, aber ich bekomme dieses Gefühl nicht von JSL. Ich habe eine kompliziertere Datentabelle, aber um zu versuchen, meinen Code zum Laufen zu bringen, habe ich meine Tabelle vereinfacht. Ich habe eine Tabelle mit 5 Spalten, von denen jeweils 4 "_Yield" in der Überschrift haben. 13 Zeilen bestehen aus Einsen und Nullen, und was ich versuche, ist, eine Spalte für jede Zeile zu erstellen, die das erste Vorkommen einer 1 in den Ertragsspalten zeigt. Ich brauche dies, um intelligent zu sein, da die Spaltennamen (außer _yield enthalten) nicht immer dieselben Namen haben oder sich an denselben Orten befinden. Ich habe herausgefunden, wie ich mir nur die Ertragsspalten ansehen kann, und habe diese in eine Matrix umgewandelt, in der ich dann die gesuchten Werte finden kann. Ich kann diese Werte einfach nicht in die Spaltenüberschriften umwandeln. Die Testspalte zeigt die Position in der Matrix, die Ergebnisspalte darunter zeigt, was ich in der Hilfespalte erhalten sollte.Danke im Voraus.

dt = Aktuelle Datentabelle ();
lst = dt << Spaltennamen abrufen (string);
dt << Spaltenauswahl löschen;
For( i = 1, i <= N Items(lst), i++,
Wenn ( Enthält ( lst [i], "_Yield") > 0,
Column( dt, lst[i] ) << set selected;
selcols = dt << Ausgewählte Spalten abrufen;
));
Mat2 = dt << Get as Matrix(selcols);
DesList = list();
for(i = 1 , i <= N Zeilen(Mat2), i++,
Pos = Min(Loc(Mat2[i,0]));
Einfügen in (DesList, Pos);
);
dt << New Column("Test",Numeric,Continuous,<< Set Values(DesList));
cols = dt << Spaltenreferenz abrufen (dt << Spaltennamen abrufen);
dt << New Column("Result", formula(If( Contains( Eval List( selcols ), 1 ) == 1,
"B_Ertrag",
If( Contains( Eval List( selcols ), 1 ) == 2,
"C_Ertrag",
If( Contains( Eval List( selcols ), 1 ) == 3,
"D_Ertrag",
If( Contains( Eval List( selcols ), 1 ) == 4,
"E_Ertrag",
"PASSIEREN"
))))
));
Werte1 = Column(dt, selcols[1]) << Get Values;
NewColName = "HILFE";
dt << Neue Spalte(NeuerSpaltenname, Zeichen);
neueSpalte = Spalte(NeueSpalteName);
For( j = 1, j <= N Items(values1), j++,
//yield = list box(selcols, << set selected(2,1), Print ("list",yield << get selected, yield << get selected indices));
result = (Delist[j] >= 1);
if(result >= 1,(newcolumn[j]= selcols),
fehlt (Ergebnis), (newColumn[j]= Parse("PASS")));
);