Interfaçage d'un exemple d'application "Lanceur avec rapport" à un graphique de graphbuilder.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je suis nouveau sur JSL et je soupçonne que je m'y prends dans le mauvais sens. Des conseils et des idées seraient les bienvenus.
J'ai un tableau de données qui contient plusieurs versions de scores Z provenant de modèles légèrement différents.
Score Z du modèle A Score Z du modèle B.... Score Z du modèle X
Sujet 1
Sujet 2
...
Sujet N
J'essaie de créer une application de visualisation de données dans laquelle le client choisirait une paire de ces valeurs z et une valeur critique.
Le graphique interactif résultant serait alors un graphique XY des valeurs Z et une ligne horizontale et une ligne verticale, toutes deux à la valeur critique choisie.
Espérons que le client puisse ensuite parcourir le graphique avec la souris et localiser les individus avec des valeurs Z radicalement différentes.
J'ai construit un graphique dans le générateur de graphiques qui fait ce que je veux pour une paire de variables.
J'ai modifié l'exemple de lanceur d'application avec rapport pour renvoyer une valeur X, une valeur Y et un nombre critique et j'ai réussi à transmettre ces valeurs dans le code du générateur de graphiques.
OnModuleLoad({éléments},
yval = éléments[1];
xval = éléments[2];
critique = éléments[3] ;
);
En changeant la variable x en xval (et la même chose pour l'axe y), je peux faire en sorte que l'exemple d'application change d'axe. Il y a un exemple de code à la fin du message.
Je rencontre deux problèmes.
#1. Je n'arrive pas à supprimer la boîte de dialogue de colonne qui démarre automatiquement lorsque j'utilise xval/yval. (Si je pouvais faire en sorte que la boîte de dialogue de colonne transmette une valeur critique... je suppose que je pourrais travailler avec cela.)
#2 Je n'arrive pas à trouver un moyen approprié de modifier les lignes de répartition afin que les lignes verticales et horizontales apparaissent lorsque je modifie les valeurs X, Y par rapport à ce qu'elles étaient lorsque j'ai créé le graphique dans le générateur de graphiques.
Est-ce que je me suis trompé d'arbre ?
Merci d'avance pour toute réponse.
| | | Rapport1 = Plateforme( | |
| | | | DonnéesTable1, | |
| | | | Générateur de graphiques ( | |
| | | | | Afficher le panneau de configuration (0), | |
| | | | | Variables( X( Eval( xval ) ), Y( Eval( yval ) ) ), | |
| | | | | Éléments( Points( X, Y, Légende( 1 ), Jitter( 1 ) ) ), | |
| | | | | EnvoyerToReport( | |
| | | | | | Expédition( | |
| | | | | | | {}, | |
| | | | | | | "Valeur Z à partir de A", | |
| | | | | | | ScaleBox, | |
| | | | | | | {Ajouter une ligne de référence ( | |
| | | | | | | | Éval (critique), |
| | | | | | | | Solide, |
| | | | | | | | "Rouge", |
| | | | | | | | "", |
| | | | | | | | 2 |
| | | | | | | )} | |
| | | | | | ), | |
| | | | | | Expédition( | |
| | | | | | | {}, | |
| | | | | | | "Valeur Z à partir de D", | |
| | | | | | | ScaleBox, | |
| | | | | | | {Ajouter une ligne de référence ( | |
| | | | | | | | Éval (critique), |
| | | | | | | | Solide, |
| | | | | | | | "Rouge", |
| | | | | | | | "", |
| | | | | | | | 2 |
| | | | | | | )} | |
| | | | | | ) | |
| | | | | ) | |
| | | | ) | |
| | | ) | |
| | ), | |
Merci
Re : Interfaçage d'un exemple d'application "Lanceur avec rapport" à un graphique de graphbuilder.Merci beaucoup à tous ceux qui ont répondu.
Le démarrage est toujours la partie la plus difficile.
Re : Interfaçage d'un exemple d'application "Lanceur avec rapport" à un graphique de graphbuilder.Je vois - c'est définitivement un problème lorsque les commandes Dispatch() font référence à l'une des valeurs paramétrées.Cela peut être un cas où il est plus facile de créer un script pour les lignes de référence que d'essayer d'utiliser Dispatch.Une fois les objets créés (après thisModuleInstance << Créer des objets dans le script du Module1), vous incluriez quelque chose comme :
Report1[AxisBox(1)] << Ajouter une ligne de référence (critique, "Solid", "Black", "", 2 );
Le comportement par défaut d'App Builder consiste à utiliser le tableau de données actuel pour toutes les zones ou rapports nécessitant un tableau.Pour modifier cela, sélectionnez la table de données dans l'arborescence des objets et modifiez la propriété "Emplacement".Une valeur de "Prompt" vous invitera toujours à sélectionner (ou ouvrir) la table.Notez que la propriété Location s'applique uniquement au moment de l'exécution.Vous devez toujours disposer d'un chemin d'accès à une table de données pour qu'App Builder puisse ouvrir la table au moment de la modification.
Des cours en ligne sont disponibles pour vous aider à apprendre le JSL.Le mois prochain, il y aura un Introduction Web en direct à JSL cela peut être utile.Il y en a d'autres Des classes également, dont un pour le développement d'applications à l'aide d'Application Builder, mais qui n'est à nouveau disponible qu'en septembre.Vous pouvez également simplement acheter le notes de cours par eux-mêmes.Deux livres intéressants sont Plongez dans les scripts JMP et JSL Companion : applications du langage de script JMP .
J'espère que cela pourra aider!
-Dan
Re : Interfaçage d'un exemple d'application "Lanceur avec rapport" à un graphique de graphbuilder.Jetez un œil à la présentation ci-jointe.Il montre comment développer un programme très basique à l'aide d'Application Builder.Le programme affiche une boîte de dialogue dans laquelle vous devez sélectionner un tableau à utiliser pour créer des graphiques.
Re : Interfaçage d'un exemple d'application "Lanceur avec rapport" à un graphique de graphbuilder.Dan,
Merci n°1, c'est exactement ce dont j'avais besoin. Je n'ai pas pensé au lancement automatique par rapport à l'ensemble de l'application, mais cela a du sens.
Quant au n°2....La section eval(critique) fonctionne pour ce dont j'ai besoin. En souhaitant bénéficier de la puissance de la sélection de données dans le générateur de graphiques, il est possible qu'un utilisateur se rende dans des endroits que je n'avais pas prévus. Merci pour l'avertissement.
Ce que je recherchais vraiment, c'était un moyen de remplacer une forme d'eval(xval) par "Valeur Z de A" dans l'instruction de répartition.Je suis capable d'imiter le comportement que je souhaite en insérant une instruction de répartition pour chaque variable possible qui pourrait être utilisée, mais je suis convaincu que ce n'est pas la meilleure pratique.
| Expédition( | |
| | | | | | | {}, | |
| | | | | | | "Valeur Z à partir de A", | |
| | | | | | | ScaleBox, | |
| | | | | | | {Ajouter une ligne de référence ( | |
| | | | | | | | Éval (critique), |
| | | | | | | | Solide, |
| | | | | | | | "Rouge", |
| | | | | | | | "", |
| | | | | | | | 2 |
| | | | | | | )} | |
| | | | | | ), |
Existe-t-il un moyen de créer une boîte de dialogue pour permettre à l'utilisateur de pointer vers une table de données au démarrage de l'application ?
Je ne suis ni nouveau dans le codage ni dans JMP, mais je regarde sous le capot de JPL pour la première fois et j'ai trouvé que les choses allaient beaucoup plus lentement que je ne l'avais imaginé. Des conseils sur des ressources ou des textes pour transformer la falaise d’apprentissage en courbe d’apprentissage ?
Re : Interfaçage d'un exemple d'application "Lanceur avec rapport" à un graphique de graphbuilder.#1 : Sélectionnez « Application » dans l'arborescence des objets.La propriété "Auto Launch" est sélectionnée par défaut.Si vous décochez cette case, la boîte de dialogue Colonnes ne doit pas s'afficher lors de l'exécution de l'application.Lorsque cette option est désactivée, il est supposé que le développeur écrira le JSL approprié pour initialiser les variables de paramètre, ce que vous avez déjà fait.
#2 : Application Builder ne prend actuellement en charge que le paramétrage direct des rôles de plateforme.D'après votre exemple de script, il semble que vous ayez modifié le fichier enregistré pour utiliser « Eval( critic ) » pour les lignes ?J'ai testé cela avec un exemple simple de Graph Builder, et cela a semblé fonctionner pour moi.Vous pourriez rencontrer des problèmes si App Builder doit réenregistrer le JSL pour que la plate-forme capture les modifications - cela n'est généralement fait que lorsque vous envoyez un message <
Un autre problème à souligner lors de la modification du JSL derrière une application JMP est le comportement au moment de la modification.Lorsque vous ouvrez une application dans l'éditeur, les scripts/boîtes de dialogue de lancement ne sont pas exécutés, donc App Builder sait créer les paramètres xval, xval pour que la plateforme se lance correctement.La même chose ne se produira pas pour les modifications apportées au JSL via l'éditeur.Si vos variables sont définies globalement, la plateforme peut toujours se lancer comme prévu, mais il est possible que vos personnalisations soient également perdues de cette manière.
Si vous souhaitez m'envoyer une application de test, je serai ravi de la consulter.
-Dan
Re : Interfaçage d'un exemple d'application "Lanceur avec rapport" à un graphique de graphbuilder.Je l'ai corrigé en marquant votre réponse comme bonne réponse, puis en l'annulant.
-Jeff
Re : Interfaçage d'un exemple d'application "Lanceur avec rapport" à un graphique de graphbuilder.vérifié, supposé avoir répondu par erreur et ne peut pas déterminer comment décocher cela.
Ce n'est pas une bonne journée.