Frage zu Fenstern und BerichtenAlle,
Ich habe ein Problem, das wahrscheinlich darauf zurückzuführen ist, dass ich nicht verstehe, wie die Dinge in JSL funktionieren.
Hier ist es also:
Ich habe eine App, die einige Diagramme über Graph Builder zeichnet und sie in ein neues Fenster mit mehreren Registerkarten legt.
Nein, ich muss folgendes tun:
- Plot Graph Builder:
GrBld = Graph Builder(
blah-blah-blah
);
- Dann muss ich eine Berichtsreferenz erhalten:
reportGrBld = GrBld<<Report();
- Nur dann kann ich mit dem Zusammenbau meines Fensters mit Registerkarten beginnen:
tabPlot1 = Tab Page Box("GraphBuilder plot", reportGrBld);
tabPlot2 = Tab Page Box("Something else", someOtherReport);
tabPlot3...
...
tabbedResults = Tab Box(tabPlot1, tabPlot2, tabPlot3, tabPlot4);
New Window("Results", tabbedResults);
Es funktioniert alles gut, mit einer Ausnahme - die Plots werden statisch. Daher kann ich nicht alle Vorteile von GraphBuilder oder einer anderen Grafikplattform nutzen - dh wenn ich auf ein Element in Legend klicke, werden diese Punkte auf dem Diagramm nicht hervorgehoben. Wenn dieser Bericht tabellarisch ist, wird die Tabelle statisch sein, alle Filter, die ich per Skript erstellt habe, werden nicht angezeigt usw.
Ich kann auf das rote Dreieck klicken und "Skript erneut ausführen" auswählen, und all diese Dinge werden angezeigt, aber nicht im zusammengesetzten Fenster mit Registerkarten.
Wenn ich jetzt nur sage:
tabPlot1 = Tab Page Box("GraphBuilder plot", GrBld);
tabPlot2 = Tab Page Box("Something else", someOtherReport);
tabPlot3...
...
tabbedResults = Tab Box(tabPlot1, tabPlot2, tabPlot3, tabPlot4);
New Window("Results", tabbedResults);
es wird nicht funktionieren.
Frage - wie erstellt man ein Fenster mit Registerkarten mit all seinen Ergebnissen und hat einen Live-GraphBuilder oder eine andere Plattform mit all ihren interaktiven Funktionen, nicht eine statische, "tote" Berichtsversion davon?
Betreff: Frage zu Fenstern und BerichtenIch werde hinzufügen - ...anhängen, verschiedene Dinge tun und es live sein. Vorher war es entweder live und ich konnte es nicht anhängen, oder es wurde "gemeldet", ich konnte es anhängen, aber es war nicht live.
Betreff: Frage zu Fenstern und BerichtenSieht so aus, als wäre der Schlüssel, dies zu verwenden:
GrBld = dt1 << Graph Builder(nada-nada-nada);
was einen anderen Objekttyp erzeugen würde (Anzeigefeld?). Zumindest die Wörter "Graph Builder" haben ihre Farbe geändert und ich kann jetzt GrBld an verschiedene Dinge anhängen.
Betreff: Frage zu Fenstern und BerichtenIn diesem Fall möchten Sie Report() nicht verwenden. Ich finde Report nützlich, wenn Sie einen Verweis auf die Ausgabe einer Plattform benötigen, um die angezeigten Ergebnisse (durch Displaybox-Skripting) zu minen. Dies ist im folgenden Beispiel schnell ersichtlich.
Beachten Sie, dass sowohl biv als auch bivRpt Ausgaben erzeugen, aber unterschiedliche Objekttypen sind. biv ist „Bivariate[]“ und bivRpt ist „DisplayBox“
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );<BR />
biv = Bivariate( Y( :weight ), X( :height ), Fit Line );<BR />
<BR />biv << LocalDataFilter(<BR /><BR /> Add Filter(<BR /><BR /> columns( :age, :sex ),<BR /><BR /> Where( :age == {13, 14, 15, 16} ),<BR /><BR /> Where( :sex == "M" ),<BR /><BR /> Display( :age, Size( 160, 90 ), List Display )<BR /><BR /> )<BR /><BR />);<BR /><BR /><BR /><BR />
bivRpt = Report(
Bivariate( Y( :weight ), X( :height ), Fit Line )
);<BR /><BR /><BR /><BR /><BR />bivRpt << showTreeStructure;<BR /><BR /><BR />NewWindow("Biv's Report", bivRpt);<BR />
Für das, was Sie tun möchten, nämlich die benutzerdefinierte Anordnung von Live-Charts und Analysen, würde ich Folgendes tun:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Profit by Product.jmp" );
gb1 = Expr(
Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :Quarter ),
Y( :Revenue ),
Y( :Product Cost, Position( 1 ) ),
Y( :Profit, Position( 1 ) ),
Wrap( :Product Line )
),
Elements( BoxPlot( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 6 ) ) )
)
);
gb2 = Expr(
Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :Quarter ),
Y( :Revenue ),
Y( :Product Cost, Position( 1 ) ),
Y( :Customer Service Cost, Position( 1 ) )
),
Elements(
Line( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 6 ) ),
Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 6 ) )
)
)
);
New Window( "", <BR /><BR />Tab Box( Tab Page Box( "Graph1", gb1 ),<BR /><BR />Tab Page Box( "Graph2", gb2 )<BR /><BR /> ) );