Comment enregistrer le tableau de bord pour exécuter une animation (.gif) via JSL ?Bonjour expert,
Je souhaite enregistrer mon tableau de bord au format .gif (animation) via JSL car "Date" n'est pas interactif en HTML.
Le filtre de données local pour l'animation est basé sur la date AVI (la date changera quotidiennement car les données sont actualisées).
Manuellement, je peux "enregistrer sous" dans .gif après avoir configuré et exécuté les contrôles d'animation.
Je pense que ce type d'analyse peut également être automatisé via JSL.
J'exporte donc le script du tableau de bord vers la fenêtre de script lors de l'exécution de l'animation, mais l'animation ne s'exécute pas lorsque j'exécute le script.
Ma question est;
- Comment améliorer ce script pour exécuter immédiatement l'animation en JSL ? --> Le workflow n'a pas capturé l'action "Exécuter l'animation", donc je n'en ai aucune idée.
- Comment sauvegarder le tableau de bord animé en JSL ?
Je fais également référence à d'autres discussions ci-dessous mais la méthode est destinée au générateur de graphiques alors que dans mon cas il s'agit d'un tableau de bord.
https://community.jmp.com/t5/JMP-Scripts/Save-a-Data-Filter-animation-as-an-animated-GIF/ta-p/24003
https://community.jmp.com/t5/Discussions/Saving-JMP-animation/mp/37025
J'utilise JMP 17.0
Merci d'avance !
Automatisation et scriptsExploration et visualisation des donnéesRe : Comment enregistrer le tableau de bord pour exécuter une animation (.gif) via JSL ?Je mets à jour mes progrès avec l'aide du support technique Genius JMP ;
Référence supplémentaire intéressante et utile
Animation du filtre de données local
https://community.jmp.com/t5/Discussions/Local-Data-filter-amp-Animation-how-to-specify-the-range/td-p/623973
GIF animé
https://community.jmp.com/t5/Uncharted/Animated-GIF-JMP-13/ba-p/21197
1) Pour l'instant, JSL peut demander au contrôle d'animation du tableau de bord de s'exécuter en utilisant les codes ci-dessous.
// Play animation (button 2) ---> OK
playbtn = window("DashboardName")["Local Data Filter", TabPageBox(1), ButtonBox(2)];
playbtn << Click();2) Je travaille toujours pour enregistrer l'animation et la sauvegarder sur un gif animé.
Actuellement, la tentative utilisant les codes ci-dessous provoque le crash de JMP - il semble qu'il commence l'enregistrement (en cliquant sans relâcher)
// Start to record animation (button 6) --> RUNNING BUT JMP CRASH BEFORE NEXT STEP
startrecordbtn = window("Sheet1_LEFTOUTER - Dashboard")["Local Data Filter", TabPageBox(1), ButtonBox(6)];
startrecordbtn << Click();
wait(1.5);
// Stop to record animation (button 6)
stoprecordbtn = window("Sheet1_LEFTOUTER - Dashboard")["Local Data Filter", TabPageBox(1), ButtonBox(6)];
stoprecordbtn << Click();
wait(1);
// Save recorded animation (button 7)
saveanimation = window("Sheet1_LEFTOUTER - Dashboard")["Local Data Filter", TabPageBox(1), ButtonBox(7)];
saveanimation << Click();
Re : Comment enregistrer le tableau de bord pour exécuter une animation (.gif) via JSL ?Toutes les tentatives d'instruction "Enregistrer" et "Enregistrer en tant que GIF animé" via JSL se sont terminées par un crash, même avec un script plus simple.
J'ai soumis un rapport de crash comme conseillé par le support technique JMP (plantage de JMP 17.0 et 17.2. J'utilise Windows 10).
names default to here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp")
dt << Graph Builder(
Size( 588, 528 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :sex ) ),
Elements( Heatmap( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :age ),
Where( :age == 14 ),
Display( :age, N Items( 6 ) )
),
Animation( Animate Column( :age ) )
)
);
playbtn = Window("Big Class - Graph Builder")["Local Data Filter",TabPageBox(1),ButtonBox(2)];
recordbtn = Window("Big Class - Graph Builder")["Local Data Filter",TabPageBox(1),ButtonBox(6)];
// Test play
print("starting play test");
playbtn << click();
wait(2);
playbtn << click();
print("ending play test");
wait(2);
// Test record
print("starting record test");
recordbtn << set(1);
playbtn << click();
wait(2);
playbtn << click();
recordbtn << set(0);
print("ending play test");Espérons que JMP 18 prendra en compte cette amélioration afin que les GIF animés puissent être enregistrés et sauvegardés automatiquement (puisque cela peut être fait en cliquant avec la main sans crash)
Re : Comment enregistrer le tableau de bord pour exécuter une animation (.gif) via JSL ?Hm, je ne sais pas si Jmp 18 résoudra le problème...
Jmp18 EA plante également avec le code ci-dessus.
Avez-vous besoin d'un gif ou est-il possible d'obtenir une capture d'écran individuelle de toutes les étapes ?
Pour ce dernier, vous pouvez écrire un script qui clique sur chaque entrée du filtre de données puis enregistre le graphique correspondant sous forme d'image.
Une telle fonction est incluse dans la barre d'outils Graph Builder - mais je viens de remarquer que je n'ai pas mis à jour la version dans la communauté depuis un moment. -> Je viens de le télécharger maintenant, mais le processus de révision prendra un certain temps...
Re : Comment enregistrer le tableau de bord pour exécuter une animation (.gif) via JSL ?Salut Hogi,
En gros, j'ai juste besoin d'un gif animé.
Mes processus de pensée sont : pour laisser JMP imiter mon clic manuel via JSL.
Mais le flux de travail ou le journal n'a pas enregistré l'activité de clic afin que je puisse l'enregistrer au format .gif animé.
Le mieux que je puisse faire maintenant est d'automatiser l'exécution du tableau de bord. (impossible de résoudre l'enregistrement GIF > enregistrer en tant que GIF animé).
Pour "cliquer sur chaque entrée dans le filtre de données", cela peut fonctionner s'il utilise des données BigClass (filtre de données = catégorie).
Mais mon filtre de données actuel pour le tableau de bord est la date. Mon exemple de tableau de bord animé comme ci-dessous.

S'il existe une solution de contournement, je serais extrêmement reconnaissant car je dois automatiser le flux jusqu'à l'animation .GIF.