combiner des fenêtres graphiques via une boucleSalut,
J'ai une longue liste de variables de réponse à représenter et j'aimerais les regrouper dans des fenêtres séparées, chaque fenêtre étant une catégorie prédéfinie. Ensuite, je souhaite combiner tous les rapports (fenêtres graphiques) et créer un tableau de bord. Lorsque je vais dans Fenêtre -> Combiner Windows (que j'avais utilisé auparavant à différentes fins), les rapports ne sont pas répertoriés comme des options de combinaison. Quelqu'un peut-il aider s'il vous plaît?
Vous trouverez ci-dessous le script JMP que j'ai utilisé pour générer les graphiques avec un exemple de tableau de données. Pour cet exemple, supposons que nous voulions une fenêtre graphique distincte pour chaque compagnie aérienne.
Je vous remercie.
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: combinez les fenêtres graphiques via une boucleMerci beaucoup pour votre réponse! Je comprends maintenant. Merci!
Re: combinez les fenêtres graphiques via une boucleLe problème que vous rencontrez est que vous n’avez pas enregistré les pointeurs sur les différentes fenêtres que vous avez créées. J'ai modifié votre script (voir ci-dessous) afin de sauvegarder les références aux 6 fenêtres que vous créez, dans une liste appelée "alWindowList". Il contient les six pointeurs vers les fenêtres. Il peut être utilisé dans une fenêtre combinée pour joindre les fenêtres ensemble.
J'ai également remarqué dans votre script que l'affichage de la compagnie aérienne et de l'étiquette n'est pas affiché de manière significative. J'ai donc également modifié le script pour forcer le code à utiliser les valeurs réelles, plutôt que al [j] et para [ i] afficher.
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: combinez les fenêtres graphiques via une boucleSalut txnelson,
Je dois réutiliser ce code (similaire) dans un contexte différent, mais cela ne semble plus fonctionner. En d'autres termes, les titres de fenêtre n'apparaissent pas dans la liste de la fenêtre combinée ni dans les rapports disponibles à ajouter à un tableau de bord. J'ai réexécuté votre code ci-dessous, le même problème existe. Nous avons récemment passé à la version 14.2 ..... cela pourrait-il être le problème?
Merci beaucoup.
Derchieh