Enregistrer les favoris du filtre de données dans la prochaine sessionSalut,
Voici le défi :
L'utilisateur ouvre un tableau de bord. Le tableau de bord contient un filtre de données de ligne. Le crée des favoris ("Ajouter des favoris"). Il ferme le tableau de bord et lorsqu'il le rouvre le lendemain, il souhaite que son filtre de favoris apparaisse dans le filtre de données.
En bout de ligne, pendant que l'utilisateur ferme le tableau de bord, je dois enregistrer l'expression des favoris et la coller avec "Eval(Substitute(Expr(") lors de la prochaine exécution du tableau de bord.
Une idée de comment et où enregistrer les expressions entre les exécutions ?
Remarque : Seuls les favoris doivent être enregistrés, pas tous les scripts de filtre de données.
par exemple:
Favorites(
"FILTER1"(Match( columns( :name, :age, :sex, :height, :weight ),
Where( :age == {12, 13} ), Where( :sex == "M" )
)),
"FILTER2"(Match( columns( :name, :age, :sex, :height, :weight ),
Where( :sex == "F" ), Where( :height >= 62.875 & :height <= 70 )
))
)Merci
ScriptRe : Enregistrer les favoris du filtre de données à la prochaine sessionJ'ai une solution. Merci.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
df = dt << Data Filter(
Location( {577, 71} ),
Add Filter(
columns( :name, :age, :sex, :height, :weight ),
Display( :name, Size( 161, 68 ), Height( 68 ), Find( Set Text( "" ) ) ),
Display( :age, Size( 178, 102 ), Height( 102 ) )
),
Favorites(
"FF1"(Match( columns( :name, :age, :sex, :height, :weight ),
Where( :age == {13, 14, 15} ),
Where( :height >= 60.952 & :height <= 70 )
))
)
);
//Save Favorites expression to journal
curJur = Open("C:\Journal.jrn");
curJur[ButtonBox(1)] << Delete Box();
df << Save Script to Journal;
curJur << Save Journal("C:\Journal.jrn");
curJur << Close Window(nosave);
//Load Favorites expression from journal
curJur = Open("C:\Journal.jrn");
SavedExpr = curJur[ButtonBox(1)] << Get Function;
FavoriteExpr = Extract Expr( SavedExpr, Favorites( Wild()) );
curJur << Close Window(nosave);Re : Enregistrer les favoris du filtre de données à la prochaine session@gzmorgan0
Merci.
J'ai également pensé à OnClose/OnOpen, mais je ne sais pas comment enregistrer une expression dans un fichier externe et charger cette expression après Je redémarre JMP et relance un tableau de bord.
Peut-être au Journal ?
Si vous avez une idée, veuillez écrire un exemple très simple.
Par exemple, enregistrez ce "Expr (x=5)" puis rechargez-le.
Re : Enregistrer les favoris du filtre de données à la prochaine session@tom_abramov
Je n'ai pas le temps d'écrire du code de test, cependant, voici l'approche que j'adopterais :
- Créez votre tableau de bord avec une zone de texte avec visibilité réduite
- Utilisez et le script OnClose pour ajouter la chaîne de filtre des favoris à cette zone de texte masquée.
- Utilisez un OnOpen ou une dépendance d'objet de tableau de bord pour obtenir les valeurs.
Vous pouvez utiliser un fichier, s'il s'agit d'un usage personnel. Mais si le tableau de bord se trouve sur un service partagé, la sécurité interdit souvent l'ouverture de fichiers externes.
Juste une idée de départ.