<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut tout le monde,
J'ai cherché dans le guide de script et l'index de script, mais je ne trouve pas le moyen de faire ce que je veux faire.
Voici la tâche :
- J'écris un script qui exécute de nombreux autres scripts préexistants un par un. Les aspects nécessaires du rapport de chaque script préexistant sont pris et copiés dans une fenêtre principale "Rapport complet".
- En raison de problèmes de confiance, je ne suis pas autorisé à modifier les scripts préexistants
- Si j'ai seulement besoin de prendre le rapport complet d'un script en gros, c'est très simple et peut être accompli en :
[créer une fenêtre principale pour le rapport complet]
:: tout gagner = Nouvelle fenetre ( "Rapport complet_" || Remplaçant ( Date abrégée ( Aujourd'hui () ) , "/" , "-" ) ,
:: vListOut = Zone de liste V ()
) ;
:: dtMain = Tableau de données actuel () ;
:: dtMain << Effacer Sélectionner ;
[exemple d'ajout facile]
:: boxTemp = Boîte de contour ( "** Tableaux de variabilité pour toutes les semaines" ) ;
:: boxTemp << Ajouter ( ( :: dtMain << Script de lancement ( "VarChart" )) << Signaler ) ;
:: vListOut << Ajouter ( :: boxTemp ) ;
Voici le problème :
- Parfois, je dois fermer certaines boîtes de contour dans un rapport via JSL
- L'étape 1 est simple si le rapport comporte une seule "boîte principale" qui contient toutes les boîtes de contour qui doivent être fermées, mais ce n'est pas toujours le cas.
- Par exemple, il existe un script qui produit un modèle d'ajustement. Pour ce modèle d'ajustement, la fonction "Par :" est utilisée, ce qui crée 3 "boîtes principales" distinctes intitulées "Response Log(Production) Condition = A", "Response Log(Production) Condition = B" et "Response Log(Production) Condition = C".
- Donc, ce dont j'ai besoin, c'est du code pour faire:
- "Fermez toute zone de contour dans ce rapport intitulée "Résumé des effets""
- quelque chose de similaire à (cela ne fonctionne pas): :: repActuel [ Boîte de contour ( "Résumé des effets" )] << proche ( 1 ) ;
- "Pour chaque zone de contour de ce rapport, vérifiez son nom. Si son nom contient "Résumé des effets", fermez-le.
Et, comme deuxième problème, quelqu'un pourrait-il expliquer le comportement suivant ?
- Code tel que :: boxTemp << Ajouter ( ( :: dtMain << Script de lancement ( "VarChart" )) << Signaler ) ; ne fonctionne pas toujours lorsque le rapport généré par un script fait plus que simplement créer un rapport (c'est-à-dire qu'il crée un rapport, modifie la table de données, puis reformate le rapport)
- Lorsque cela se produit, je dois utiliser:
:: dtMain << Script de lancement ( "Répartitions" ) ;
:: repActuel = Rapport actuel () ;
:: boxTemp << Ajouter ( :: repActuel [ Boîte de contour ( "Répartitions" )] ) ;
Remarque spéciale "::boxTemp<
Est-ce que quelqu'un sait pourquoi j'ai besoin d'utiliser "Current Report" ?
Pour mon premier problème, il y aura plusieurs zones de contour dans le rapport qui devront être copiées, donc ce ne sera pas aussi simple que dans l'exemple ci-dessus. Est-il possible de prendre un objet de rapport de sauvegarde qui a été initialisé via "Rapport actuel ()" et d'utiliser la fonction "Append" sur cet objet de rapport sans avoir à spécifier un objet (c'est-à-dire, comment puis-je lui dire d'ajouter l'objet de rapport ENTIER contenu, et non le contenu spécifique d'un encadré contenu dans un rapport).
Vous trouverez peut-être quelque chose qui vous aidera à résoudre votre (premier) problème sur https://community.jmp.com/message/225609#225609 .