Comment enregistrer un script graphique avec des exclusions de données?
Nous enregistrons souvent des graphiques sous forme de scripts pour une utilisation ultérieure. Tout fonctionne bien jusqu'à ce que le graphique implique l'exclusion de données. Par exemple, nous voulons représenter graphiquement le rétablissement des patients qui (1) ont reçu un vaccin par rapport à (2) ceux qui ne l'ont pas fait. Les deux graphiques sont identiques - mêmes variables, axes, étiquettes et style - sauf que (1) exclut la condition (binaire) «sans vaccin» et (2) exclut la condition «vaccin».
Nous comprenons que le graphique se met à jour chaque fois que les exclusions de données sont modifiées (c'est une fonctionnalité, pas un bogue). Existe-t-il un moyen de sauvegarder les exclusions de données dans le script du graphique , de sorte qu'à chaque exécution du script, nous verrons un résultat basé sur des exclusions de données lors de la création du graphique?
GraphiqueRe: Comment enregistrer un script graphique avec des exclusions de données?il y a différentes facons de faire cela. Si vous souhaitez que le script de graphes s'exécute sur une nouvelle table de données, le script exigera que JSL soit ajouté au script qui parcourt les données et effectue les sélections à ce moment-là. Si la tâche consiste simplement à pouvoir réexécuter le graphique avec les mêmes paramètres de table de données, alors ce qui doit être fait, c'est de créer une nouvelle colonne du type "Row State", puis d'enregistrer les Row States au moment de l'exécution du graphique dans la nouvelle colonne d'état de ligne. Ensuite, le script graphique devrait simplement être augmenté pour copier les états de ligne de sauvegarde de la nouvelle colonne vers les états de ligne de la table de données, puis exécuter le graphique.
Re: Comment enregistrer un script graphique avec des exclusions de données?Merci pour votre réponse rapide!
1) Pouvez-vous nous expliquer comment procéder? «Le script exigera que JSL soit ajouté au script qui parcourt les données et effectue les sélections à ce moment-là».
2) Si la solution ci-dessus nous permet également de spécifier des exclusions dans le même ensemble de données, ne parlez plus. Sinon, indiquez-nous une explication sur la façon de procéder: "Ensuite, le script graphique devrait simplement être augmenté pour copier les états de ligne de sauvegarde de la nouvelle colonne vers les états de ligne de la table de données, puis exécuter le graphique"
Re: Comment enregistrer un script graphique avec des exclusions de données?Une autre approche consiste à utiliser un filtre de données local dans le cadre du graphique. De cette façon, l'utilisateur peut facilement passer d'un groupe à l'autre.
Re: Comment enregistrer un script graphique avec des exclusions de données?Voici un exemple d'enregistrement et d'utilisation d'une colonne d'état de ligne pour réinitialiser la table de données à l'état dans lequel elle se trouvait lorsque le graphique d'origine a été exécuté.
names default to here(1);
// Open a sample data table
dt = open("$SAMPLE_DATA/big class.jmp" );
// Set some exclusions and row coloring
dt << select where(:age == 12 & :sex == "F" );
dt << hide and exclude;
dt << color by column(:age);
// Run the graph to get the results desired
Graph Builder(
Size( 522, 486 ),
Show Control Panel( 0 ),
Variables( X( :age ), Group X( :sex ), Overlay( :age ) ),
Elements( Bar( X, Legend( 8 ) ) ),
SendToReport( Dispatch( {}, "400", LegendBox, {Set Title( "" )} ) )
);
// To save the data table status at the time of the graph, simply
// create a new row state column, and copy the row states to it
dt << new column("My Row States", rowstate);
dt:My Row States << copy from row states;
// To illustrate what would needed to be added to the Graph Script
// to recreate the environment it was originally run in, I will first
// clear all of the row states to bring the table back to the
// default blank row states
dt << clear row states;
// Now all that has to be done, is to copy the rowstates from the row state
// column back to the data table row states, and then rerun the graph
dt:My Row States << copy to row states;
Graph Builder(
Size( 522, 486 ),
Show Control Panel( 0 ),
Variables( X( :age ), Group X( :sex ), Overlay( :age ) ),
Elements( Bar( X, Legend( 8 ) ) ),
SendToReport( Dispatch( {}, "400", LegendBox, {Set Title( "" )} ) )
);
Je ne pense pas que ce soit une réponse complète à votre réponse, mais je n'étais pas vraiment sûr de ce que vous demandiez d'autre. Pourriez-vous reformuler ce que vous demandez et fournir plus de détails?