Ajouter une ligne de référence dans le rapport via le script du générateur d'applicationBonjour à tous,
J'essayais d'ajouter la ligne suivante dans mon script de création d'application pour ajouter des lignes de référence aux rapports :
Report1[Axis Box(1)] << Add Ref Line( 100, "Solid", "Medium Dark Red", "LL", 10 );
Cependant, cela ne fait rien.Je ne reçois aucun avertissement ou erreur dans le journal. J'ai vérifié l'arborescence d'affichage et j'accède à la bonne Axis Box. Si je change l'index de la boîte d'axe, cela génère une erreur. Je ne vois pas pourquoi cela ne devrait pas fonctionner. Est-ce un bogue ?
Étrangement, en jouant avec, j'ai changé quelque chose qui produisait une erreur sur cette ligne, mais j'ai ajouté avec succès la ligne ref. Une fois. Réexécuter la même chose n'a pas ajouté la ligne à l'avenir.
Depuis, je l'ai changé en un bouton sur lequel vous appuyez dans le rapport pour ajouter la ligne de référence, qui a fonctionné du premier coup en utilisant exactement la même ligne de script, donc je n'ai pas besoin d'une solution urgente. Je me demande juste si c'est un bug.
Re : Ajouter une ligne de référence dans le rapport via le script du générateur d'applicationBonjour à tous, je suis heureux d'annoncer que le problème initial signalé ici a été résolu dans la dernière version de JMP (15). Vous ne devriez plus avoir besoin de wait(0) pour que cela fonctionne. Pour ceux qui utilisent des versions plus anciennes de JMP, il s'agit d'une excellente solution de contournement.
Re : Ajouter une ligne de référence dans le rapport via le script du générateur d'applicationDans ce cas, Wait(0) permet à la fenêtre de s'afficher à l'écran, ce qui définit également "l'état initial" qui détermine si les personnalisations sont enregistrées dans le script.Pour des raisons de performance, certains événements sont traités de manière asynchrone pour permettre aux scripts de continuer à s'exécuter.
Re : Ajouter une ligne de référence dans le rapport via le script du générateur d'applicationMerci comme d'habitude à tous !!
Dan, pouvez-vous expliquer ce qu'est exactement l'ajout de Wait(0); ligne fait? (c'est-à-dire mettre à jour les affichages ?)
Re : Ajouter une ligne de référence dans le rapport via le script du générateur d'applicationJ'ai également essayé cela en utilisant Big Class comme exemple, et j'ai peut-être compris ce qui se passe.Mon application est attachée et elle fonctionne initialement.Cependant, si vous activez le filtre de données locales, la ligne disparaît.Le LDF fonctionne en réexécutant la plate-forme, et dans ce cas, les personnalisations de la ligne de référence ne sont pas conservées.Cela se produit à la fois à l'intérieur et à l'extérieur d'App Builder.
Le problème est que les scripts de plate-forme (tels qu'enregistrés depuis LIRT > Enregistrer le script > Vers la fenêtre de script) enregistrent uniquement les personnalisations qui ont été appliquées depuis l'affichage initial de la plate-forme.C'est l'un des cas où l'ajout de la ligne :
Wait(0);
BEFORE le code qui accède au rapport permettra à la plateforme de s'afficher une fois avant d'ajouter la ligne de référence.Dans le .jmpappsource joint, j'ai commenté cette ligne, vous pouvez donc la rajouter pour tester la solution.
Re : Ajouter une ligne de référence dans le rapport via le script du générateur d'applicationl'objectif est-il d'ajouter une seule ligne de référence, ou l'objectif est-il d'ajouter des lignes de référence dynamiquement ?

Parfois, j'ai besoin d'ajouter des lignes de référence basées sur les données d'un tableau. Dans ce cas, l'ajout de ce script pour personnaliser le graphique est l'astuce.
//example<BR />For Each Row(
If( :ref > 0,
V Line( Row(), Col Minimum( :weight ) - 10, Col Maximum( :weight ) + 10 )
)
)
Dans un peu plus de contexte, voici à quoi cela ressemble.
dt=open("$Sample_Data\Big Class.jmp");
dt<< New Column( "ref",
Set Values(
[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
)
);
dt<<NEW column=""> 0,
V Line(
Row(),
Col Minimum( :weight ) - 10,
Col Maximum( :weight ) + 10
)
)
)
), Grid Line Order( 1 ), Reference Line Order( 3 )}
)
)
);
</NEW>Re : Ajouter une ligne de référence dans le rapport via le script du générateur d'applicationMerci pour la clarification.Dans ce cas, votre code devrait vraiment fonctionner.J'ai fait un cas de test avec un rapport à sens unique dans une application de création d'application, et cette ligne de code a parfaitement fonctionné.Peut-être que ça vaut le coup d'appeler le support technique ?
Re : Ajouter une ligne de référence dans le rapport via le script du générateur d'applicationDésolé je n'ai pas donné plus de contexte. Report1 est un rapport à sens unique alloué dans le générateur d'application. La variable existe.
J'ai pu accéder à la framebox du même rapport pour ajouter une légende en utilisant:
Report1[FrameBox(1)] << Row Legend(
Tissue,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 ));
Je pense donc que la référence fonctionne.
J'ai essayé la ligne que vous avez suggérée et cela n'a rien donné. Pas d'erreurs ou d'avertissements, pas de ligne de référence.
Re : Ajouter une ligne de référence dans le rapport via le script du générateur d'applicationComment est défini Report1 ?C'est le nom du module ?
En règle générale, pour accéder à des zones d'affichage sans nom dans une fenêtre de module Application Builder, vous devez obtenir une référence à la fenêtre en utilisant quelque chose comme :
Report1 = this module instance << Get box
Essayez de remplacer la ligne que vous avez par celle-ci pour voir si c'est le problème :
(this module instance << get box)[Axis Box(1)] << Add Ref Line( 100, "Solid", "Medium Dark Red", "LL", 10 );