Comment afficher des graphiques d'en-tête à l'aide de JSL ?Existe-t-il un moyen de définir les graphiques d'en-tête à afficher en utilisant JSL ?
J'ai cherché dans l'index de scripts et les forums d'aide, et j'ai essayé
dt << Show Header Graphs(1);
et des variations similaires sans chance.
Merci!
Automatisation et scriptsRe : Comment afficher des graphiques d'en-tête en utilisant JSL ?Essayer
Preferences(Show summary graphs below column names( 1 ))
Re : Comment afficher des graphiques d'en-tête en utilisant JSL ?Merci beaucoup!
Re : Comment afficher des graphiques d'en-tête en utilisant JSL ?Savez-vous s'il existe un moyen de procéder sans ajuster les préférences de l'utilisateur ? Il s'agit d'un script qui sera distribué à d'autres, et bien que cette solution fonctionne, je préférerais que mes utilisateurs ne voient pas leurs préférences modifiées à contrecœur.
Re : Comment afficher des graphiques d'en-tête en utilisant JSL ?Je pense qu'actuellement, vous devrez mettre à jour les préférences de vos utilisateurs (ce qui est généralement une idée horrible comme vous l'avez mentionné). Il existe un élément de liste de souhaits pour avoir des préférences de session/instance. Fournit un moyen de définir les préférences et les préréglages de session/instance (ne fonctionnera pas exactement dans ce cas si la table est déjà ouverte sans quelques astuces car la propriété ne sera pas déjà mise à jour. tables ouvertes).
Vous souhaiterez peut-être créer un élément de liste de souhaits distinct pour nous fournir la possibilité d'activer/désactiver les graphiques d'en-tête dans un tableau de données via un script.
Modifier:
Il semble y avoir une commande pour les ouvrir/fermer MAIS elle les échangera simplement (le drapeau booléen ne semble rien faire). Il pourrait donc être un peu difficile de le faire fonctionner dans tous les cas
Current Data Table() << close summary panels;
Vous pouvez essayer de vérifier les préférences de l'utilisateur mais cela ne fonctionnera pas dans tous les cas (comme si l'utilisateur les avait fermées)
Try(
If(!Arg(Arg(Get Preference("Show summary graphs below column names"))),
Current Data Table() << close summary panels;
)
);Re : Comment afficher des graphiques d'en-tête en utilisant JSL ?J'ajouterai un élément de liste de souhaits pour cette demande.
En attendant, la solution de contournement que j'ai utilisée consiste à vérifier les préférences de l'utilisateur au début du script avec ce qui suit :
pref = Num(Word(3,Char(Get Preferences(Show summary graphs below column names)),"()"));
Dans le corps du script, j'ai défini la préférence sur 1 :
Preferences(Show summary graphs below column names(1));
Mon script crée une fenêtre en tant qu'interface utilisateur dans laquelle l'utilisateur ouvrira une table puis cliquera sur un bouton pour exécuter un autre script. J'ai donc ajouté à la fenêtre :
<< On Close(Preferences(Show summary graphs below column names(pref)))
Ainsi, lorsque l'interface utilisateur est fermée, ses préférences seront rétablies à celles qu'ils avaient avant de l'ouvrir.
Cela entraînera des problèmes si l'utilisateur modifie ses préférences avec la fenêtre ouverte, mais je pense que ce serait un événement rare.
Merci pour votre aide!
Re : Comment afficher des graphiques d'en-tête en utilisant JSL ?Heureusement, ce n'est pas une préférence trop ennuyeuse avec laquelle jouer (par exemple, si quelqu'un commençait à jouer avec mes paramètres régionaux, ce serait tellement ennuyeux que j'envisagerais même d'arrêter d'utiliser JMP pendant un certain temps (je garde toujours des sauvegardes de mes préférences). )).
Vous voudrez peut-être envisager d'enregistrer cette préférence utilisateur dans un fichier temporaire et de la charger à partir de là lorsqu'il réexécutera votre script. JMP pourrait par exemple planter ou l'utilisateur pourrait fermer JMP en utilisant Exit JMP. Je le fais toujours en utilisant Ctrl + Q (je ne sais pas si On Close se déclenchera dans ce cas). Bien sûr, cela ne fonctionnera pas s'ils modifient leurs paramètres avant de réexécuter votre script ou s'ils ne réexécutent pas du tout votre script.
Re : Comment afficher des graphiques d'en-tête en utilisant JSL ?
Try(
If(!Arg(Arg(Get Preference("Show summary graphs below column names"))),
Current Data Table() << close summary panels;
)
);
bonne solution de contournement pour le problème de l'option booléenne manquante : )
merci.
Dans le prolongement de l'idée : si l'utilisateur n'ouvre pas le résumé par défaut, veuillez ouvrir le résumé de la table de données actuelle (en supposant que l'utilisateur ne l'a pas ouvert manuellement).
bien mieux que ma suggestion via les préférences :
- aucune interférence avec les paramètres utilisateur globaux
- fonctionne pour la table de données actuelle (!) (pas seulement les tables de données qui seront ouvertes à l'avenir)