Hallo zusammen,
Ich habe das folgende Problem: Ich erstelle eine Reihe von Registerkarten innerhalb der Param_Overview Fenster. Diese Registerkarten werden in der "for" -Schleife generiert. Nach der letzten Registerkarte möchte ich jedoch eine weitere Registerkarte erstellen, die außerhalb der for-Schleife erstellt wurde. Die Generierung von Registerkarten aus der "for" -Schleife funktioniert gut, die Hinzufügung der letzten jedoch nicht. Wenn ich den Code der letzten Registerkarte von Hand auswähle und ausführe, wird die gewünschte Registerkarte auch in den Fenstern angezeigt. Zum Erstellen der Registerkarten in "for" -Schleife die Datentabelle dt_run wird genutzt. Zum Erstellen der letzten Registerkarte wird eine andere Tabelle verwendet: zuv_data . Wie aktiviere ich die Generierung der letzten Registerkarte? Ich würde mich über Hinweise und Vorschläge freuen, wie das geht.Ich habe den Inhalt, wie jedes Diagramm erstellt wird, entfernt, um die Codestruktur zu vereinfachen.
Freundliche Grüße.
New Window( "Param_Overview", tb = Tab Box() );
For( iRun = 1, nitems(run_list), iRun++,
tb << Add(
//todo
Lineup Box( N Col( 1 ),
Outline Box( "Graph1",
H List Box(
dt_run << Graph Builder(
// todo
)
),
dt_run << Graph Builder(
// todo
)
)
)
),
Outline Box( "Graph2",
hlistbox = H List Box(
dt_run << Graph Builder(
// todo
)
),
dt_run << Tabulate(
// todo
)
)
)
)
)
);
// the last tab
tb << Add("last tab", //add one more tab
Outline Box( "Last_Graph",
H List Box(
zuv_data << Graph Builder(
// todo
)
)
)
);Ich habe Ihr Beispielskript ausgefüllt und einige Syntaxprobleme behoben, und der Code wird fehlerfrei ausgeführt.
Fehler
- Ihre For () - Schleife ist eine Endlosschleife.Das Endelement Ihres Codes wird nie erreicht.
For( iRun = 1, nitems(run_list), iRun++,
Es muss seinFor( iRun = 1, iRun <= nitems(run_list), iRun++,
- Es gab ein Problem mit dem passenden ")" in der For-Schleife
Hier ist meine Überarbeitung des Codes
Names Default To Here( 1 );
dt_run = open("$SAMPLE_DATA/big class.jmp");
zuv_data = open("$SAMPLE_DATAbig class families.jmp");
run_list = {a, b};
New Window( "Param_Overview", tb = Tab Box() );
For( iRun = 1, iRun <= N Items( run_list ), iRun++,
tb << Add(
//todo
Lineup Box( N Col( 1 ),
Outline Box( "Graph1",
H List Box(
dt_run << Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
)
),
dt_run << Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
)
)
),
Outline Box( "Graph2",
hlistbox = H List Box(
dt_run << Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
)
),
dt_run << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :height, :weight ), Statistics( Mean ) ),
Row Table( Grouping Columns( :age ) )
)
)
)
)
);
// the last tab
tb << Add(
"last tab", //add one more tab
Outline Box( "Last_Graph",
H List Box(
zuv_data << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :height, :weight ), Statistics( Mean ) ),
Row Table( Grouping Columns( :age ) )
)
)
)
)
);Danke!, Es funktioniert. Ich habe den Fehler in der For () - Schleife überhaupt nicht bemerkt. Aus diesem Grund konnte die letzte Registerkarte nicht angezeigt werden. Freundliche Grüße