Salut,
J'ai deux problèmes liés à l'utilisation du filtre de données local dans JSL. J'utilise JMP 17.
Je conçois un script où un utilisateur est invité à sélectionner une option dans une liste, laquelle est ensuite transmise à un filtre de données local au sein d'un objet Graph Builder. Cette partie fonctionne correctement, mais une fois le graphique ouvert, je souhaite enregistrer le filtre de données local dans la table de données principale. Le journal JMP n'enregistre pas cette opération lorsque je la réalise manuellement ; je ne sais donc pas comment la scripter. J'ai consulté l'index de script concernant les fonctions « Copier le filtre de données local() » et « Coller le filtre de données local() », mais cela ne correspond pas exactement à ce que je recherche. Ma première question est donc : comment enregistrer le script du filtre de données local depuis une fenêtre de rapport vers la table de données principale ?
Mon deuxième problème concerne la réutilisation de ce filtre. J'ai un autre script qui génère un rapport différent, mais qui utilise le même filtre de données locales. J'ai essayé d'utiliser la fonction Get Table Property() sur le script de filtre de données locales enregistré, mais cela ne semble pas fonctionner correctement dans la nouvelle fenêtre de rapport.
Je comprends que fusionner les deux scripts en un seul résoudrait mes problèmes, mais je les ai séparés pour simplifier l'expérience utilisateur. Ce n'est pas l'idéal, mais je pense que mon idée est viable, même si je l'ai trouvée par moi-même. Je serais très reconnaissant si quelqu'un pouvait m'aider à résoudre ces problèmes.
Cordialement,
Cathal
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
// First graph
obj1 = dt << Distribution(
Nominal Distribution( Column( :country ) ),
Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "Female" ) ),
Mode( Show( 1 ), Include( 1 ) )
)
);
// How to save "Local Data Filter" to data table?
// Manually add filter
dt << New Script( "Local Data Filter",
Local Data Filter( Add Filter( columns( :sex ), Where( :sex == "Female" ) ) )
);
// Second graph
obj2 = dt << Distribution(
Stack( 1 ),
Nominal Distribution(
Column( :marital status ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
);
// Get local data filter
filter = dt << Get Table Property( "Local Data Filter" );<BR /><BR />// How to apply filter to obj2?
Sens Unique
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
// First graph
obj1 = dt << Distribution(
Nominal Distribution( Column( :country ) )
);
ldf = obj1 << Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "Female" ) ),
Mode( Show( 1 ), Include( 1 ) )
);
ldf << Save Script to Data Table("Local Data Filter");
obj2 = dt << Distribution(
Stack( 1 ),
Nominal Distribution(
Column( :marital status ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
);
ldf_script = dt << Get Script("Local Data Filter");
Eval(EvalExpr(
Send(obj2, Expr(Name Expr(ldf_script)));
));
Salut Jarmo, ça marche ! Merci mille fois 