For-Schleifen und SpaltenlistenHallo,
Ich beabsichtige, einen Graph Builder zu erstellen, um jedes Mal unterschiedliche Datenspalten zu visualisieren. Der Graph Builder sollte beliebig viele Eingabespalten annehmen können (solange es weniger als 8 sind). Ich habe eine Eingabe-GUI erstellt, glaube aber nicht, dass die Y-Werte aufgezeichnet werden. Wie kann ich die ausgewählten Y-Spaltendaten korrekt an den Graph Builder übergeben? Danke!


Automatisierung und SkriptingDatenzugriffWindowsBetreff: For-Schleifen und SpaltenlistenBitte nutzen Sie die
Symbol, um Ihr JSL anzuzeigen. Es ermöglicht dem Leser, Ihren Code zu testen und Antworten zu geben. Das Einfügen von Bildern Ihres Codes ermöglicht dies nicht, und daher werden sich viele mögliche Antwortende dafür entscheiden, nicht zu antworten, da das erneute Eintippen Ihres JSL zu viel Zeit in Anspruch nehmen würde.
Betreff: For-Schleifen und SpaltenlistenDas eingebettete Protokoll zeigt „Angegebene Spalte nicht in der Datentabelle gefunden. Beim Zugriff oder bei der Auswertung von ‚For‘, For/*###*/(j = 1, j <= Min( 8, N Items( yCol ) ), j++, Y( Eval( yCol[j] ) ))“
Aber die von mir verwendete Spalte steht eindeutig in meiner Datentabelle.
Betreff: For-Schleifen und Spaltenlistennames Default To Here(1);
MyGraph = Function ({yCol,xCol},{default local},
vlb = VListBox(
Graph Builder(
Size( 1255, 981 ),
Show Control Panel( 0 ),
Variables(
X( Eval(xCol) ),
For(j = 1, j <= Min(8, N Items(yCol)), j++,
Y( Eval(yCol[j])) // Evaluate each yVar
),
Group X( :Temperature )
),
Elements( Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Y( 5 ), Y( 6 ), Y( 7 ), Y( 8 ), Legend( 11 ) ) ),
Local Data Filter(
Add Filter(
columns( :Test Stage, :Sublot, :Temperature, :Soft Bin ),
Display( :Test Stage, N Items( 4 ) ),
Display( :Soft Bin, N Items( 15 ) )
)
)
)
);
return(vlb);
);
dt = CurrentDatatable();
nw = NewWindow("Column Selection", <<MODAL></MODAL>Betreff: For-Schleifen und SpaltenlistenDanke für den Rat, hier ist mein vollständiges Skript.
Betreff: For-Schleifen und SpaltenlistenSie können Ihre Variablen zunächst vorbereiten und sie dann mit „Einfügen in“ in den Graph Builder einfügen.
MyGraph = Function ({yCol,xCol},{default local},
vars= Eval Expr(Variables(
X( Expr(xCol) ),
Group X( :Temperature )
));
pts= Expr(Points( X));
For(j = 1, j <= Min(8, N Items(yCol)), j++,
Insert Into(vars, Eval Expr(Y( Expr(yCol[j]))));
);
gb = Expr(
Graph Builder(
));
Insert Into(gb, Name Expr(vars));
VListBox(gb)
);Betreff: For-Schleifen und SpaltenlistenSolche Dinge werden irgendwann einfacher :folded_hands: Ausdrucksindizierung: Lese- und Schreibzugriff wird in zukünftigen Versionen von JMP verfügbar sein ...
Dann müssen Sie nicht die verschiedenen Teile vorbereiten und dann Ihren endgültigen Ausdruck konstruieren, sondern können direkt einen Entwurf des endgültigen Ausdrucks erstellen und diesen dann auf jeder gewünschten Ebene bearbeiten.
zB eine zusätzliche Y-Variable hinzufügen über
Insert Into ( gbExpression["Variables"], Expr(Y(:age)))
Betreff: For-Schleifen und SpaltenlistenEs hat geklappt! Vielen Dank!