Diagrammfenster über Schleife kombinierenHallo,
Ich habe eine lange Liste von Antwortvariablen, die dargestellt werden können, und ich möchte sie in separaten Fenstern gruppieren, in denen jedes Fenster eine vordefinierte Kategorie ist. Dann möchte ich alle Berichte (Diagrammfenster) kombinieren und ein Dashboard erstellen. Wenn ich zu Fenster -> Fenster kombinieren gehe (das ich zuvor für verschiedene Zwecke verwendet hatte), werden die Berichte nicht als Kombinationsmöglichkeiten aufgelistet. Kann jemand bitte helfen?
Nachfolgend finden Sie das JMP-Skript, das ich zum Generieren der Diagramme mit einer Beispieldatentabelle verwendet habe. Angenommen, wir möchten für jede Fluggesellschaft ein eigenes Diagrammfenster.
Vielen Dank.
Derchieh
Names Default to Here(1);
sourcedt = Open("$SAMPLE_DATA\Airline Delays.jmp");
dt = sourcedt << Stack(
columns( :Elapsed Time, :Arrival Delay, :Distance ),
Source Label Column( "Label" ),
Stacked Data Column( "Value" )
);
Summarize(dt, al = By(:Airline));
Summarize(dt, mon = By(:Month));
Summarize(dt, para = By(:Label));
For (j = 1, j <= NItems(al), j++,
New Window( al[j],
V List Box(
For (i = 1, i <= NItems(para), i++,
Graph Builder(
Size(230, 300),
Fit to Window( "Off" ),
Show Control Panel(0),
Variables( X( :Month ), Y( :Value ), Overlay( :Day of Week ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
Where( :Airline == al[j] & :Label == para[i] ),
SendToReport(
Dispatch(
{},
"Value",
ScaleBox,
{Min( -10 ), Minor Ticks( 0 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( para[i] )} )
)
) << report;
)
)
)
);
Re: Kombinieren Sie Diagrammfenster über eine SchleifeVielen Dank für Ihre Antwort! Ich verstehe es jetzt. Vielen Dank!
Re: Kombinieren Sie Diagrammfenster über eine SchleifeDas Problem, mit dem Sie konfrontiert sind, ist, dass Sie die Zeiger nicht in den verschiedenen Fenstern gespeichert haben, die Sie erstellt haben. Ich habe Ihr Skript geändert (siehe unten), um die Verweise auf die 6 erstellten Fenster in einer Liste mit dem Namen "alWindowList" zu speichern. Es enthält die sechs Zeiger auf die Fenster. Es kann in einem Kombinationsfenster verwendet werden, um die Fenster miteinander zu verbinden.
In Ihrem Skript ist mir auch aufgefallen, dass die Anzeige von Airline und Label nicht sinnvoll angezeigt wird. Daher habe ich das Skript geändert, um zu erzwingen, dass der Code die tatsächlichen Werte verwendet. i] Anzeige.
Names Default To Here( 1 );
sourcedt = Open( "$SAMPLE_DATA\Airline Delays.jmp" );
dt = sourcedt << Stack(
columns( :Elapsed Time, :Arrival Delay, :Distance ),
Source Label Column( "Label" ),
Stacked Data Column( "Value" )
);
Summarize( dt, al = By( :Airline ) );
Summarize( dt, mon = By( :Month ) );
Summarize( dt, para = By( :Label ) );
alWindowList = {};
For( j = 1, j <= N Items( al ), j++,
nw = New Window( al[j],
V List Box(
For( i = 1, i <= N Items( para ), i++,
Eval(
Substitute(
Expr(
Graph Builder(
Size( 230, 300 ),
Fit to Window( "Off" ),
Show Control Panel( 0 ),
Variables( X( :Month ), Y( :Value ), Overlay( :Day of Week ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
Where( :Airline == __al__ & :Label == __para__ ),
SendToReport(
Dispatch( {}, "Value", ScaleBox, {Min( -10 ), Minor Ticks( 0 )} ),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( para[i] )} )
)
) << report
),
Expr( __al__ ), al[j],
Expr( __para__ ), para[i]
)
)
)
)
);
Insert Into( alWindowList, nw );
);Re: Kombinieren Sie Diagrammfenster über eine SchleifeHallo Txnelson,
Ich muss diesen (ähnlichen) Code für einen anderen Kontext wiederverwenden, aber er scheint nicht mehr zu funktionieren. Das heißt, die Fenstertitel werden nicht in der Liste für Kombinationsfenster oder als verfügbare Berichte zum Hinzufügen zu einem Dashboard angezeigt. Wenn Sie Ihren Code unten erneut ausführen, besteht das gleiche Problem. Wir haben kürzlich ein Upgrade auf 14.2 durchgeführt ... könnte das das Problem sein?
Danke vielmals.
Derchieh