Re : Comment coder les boutons radio sur le graphique interactif et les unir dans le tableau de bord@Feli ,
Je n'ai pas utilisé DashboardBuilder sauf un exemple simple. J'utilise Application Builder ou j'écris simplement un script pour créer une application.Vous aimerez peut-être lire à ce sujet. Certains aiment vraiment ça. D'autres qui ont écrit des scripts pendant un certain temps gèrent généralement les choses via JSL.
Vous trouverez ci-dessous une capture d'écran du démarrage d'un ApplicationBuilder pour votre tâche.
Je pense que lire le chapitre 11 est un bon début,
Re : Comment coder les boutons radio sur le graphique interactif et les unir dans le tableau de bord@gzmorgan0
Merci beaucoup!
Vous avez réussi à atteindre exactement ma solution souhaitée.
Dans l'un de mes nombreux essais précédents, je jouais avec des variables de table - j'ai fait fonctionner les curseurs, mais pas le bouton radio.
La clé qui me manquait était :
dt << Set Table Variable("Faktor", Expr(num (cat << Get Selected) ) );Ma variable de table pour Faktor était toujours une chaîne, ce qui gâchait la formule, j'ai donc dû trouver d'autres moyens.
J'essayais de créer mon graphique à l'aide de Dashboard Builder/Application Builder, car cela a été recommandé par de nombreuses personnes lors du démarrage de JSL/création d'applications, mais je vais mettre en œuvre vos conseils et approfondir les conteneurs, etc.
Encore merci de ton aide!
Re : Comment coder les boutons radio sur le graphique interactif et les unir dans le tableau de bord@Feli ,
Plusieurs éléments de ce script causeront des problèmes.
La première est avec chat, la RadioBox. Le script est attaché à la boîte de contour, pas à la boîte radio
//Outline Box( "Select Faktor", cat = Radio Box( {"1", "2", "3", "4"} ),update ) //wrong, see below
Outline Box( "Select Faktor", cat = Radio Box( {"1", "2", "3", "4"} , update ) )
Les noms sont ici par défaut (1); indique que les valeurs des variables ne s'appliquent qu'à ce script.Vous n'avez pas besoin d'adresser l'espace de noms Here et la syntaxe est Here:A . Mais cela pose un autre problème, les colonnes de formule G1scale, G2scale, etc. auront une formule comme :G1*A.Une fois le script exécuté, ou si vous essayez d'ouvrir la table ultérieurement, la variable A est inconnue.Voici quelques suggestions :
- créer les variables de table, A, B, C, Faktor avec dt << Set Table Variable(A, 1)
- alors la formule devient :G1*:A et la table reconnaîtra cette valeur lorsque le script n'est pas en cours d'exécution,
- si vous exécutez votre script plusieurs fois, il créera plusieurs G1scale, G1scale 2, etc. Cela peut être fait de manière plus élégante en vérifiant si la colonne ou existe, si c'est le cas, supprimez-la ou attribuez simplement la fonction. De plus, une fois la fenêtre fermée, vous pouvez supprimer ces colonnes à l'aide d'une fonction On Close pour nw.
Cependant, la plus grande suggestion est que si vous allez vous plonger dans les scripts interactifs, vous devriez apprendre à créer des rapports JMP avec
Conteneurs : HListeBox , VListBox , LineupBox , Panneau électrique .Votre script utilise le ContourBox récipient.
Les contrôles: ButtonBox , SliderBox , Case à cocher , etc.
Contribution: Boîte combo , Zone de liste , ColListBox , etc.
Ne comptez pas sur la combinaison de fenêtres.
Le chapitre 11 du Guide de création de scripts JMP est un bon point de départ. Menu principal > Aide > Documentation JMP > Guide des scripts JMP >> Chapitre 11
Ci-joint un script utilisant cette mise en page (Structure arborescente)


Comment coder les boutons radio sur le graphique interactif et les unir dans le tableau de bordBonjour tout le monde,
Je veux écrire un petit tableau de bord/application où vous pouvez modifier trois variables A, B, C à l'aide de curseurs (niveaux continus autorisés) et une quatrième variable Faktor à l'aide de boutons radio (puisque seuls 4 niveaux sont autorisés).

Les colonnes de ma table de données G1, G2, G3 sont ensuite multipliées par A, B, C ainsi que Faktor et tracées avec la somme des trois nouvelles colonnes à l'aide du générateur de graphes.
Clear Log();
Delete Symbols();
Names Default To Here( 1 );
// default parameter values.
A = 1;
B = 2;
C = 3;
Faktor = 2;
dt = Current Data Table();
dt << New Column( "G1scale", Numeric, Continuous, Formula( (:G1 * Here( 1 ):A) * Here( 1 ):Faktor ) );
dt << New Column( "G2scale", Numeric, Continuous, Formula( (:G2 * Here( 1 ):B) * Here( 1 ):Faktor ) );
dt << New Column( "G3scale", Numeric, Continuous, Formula( (:G1 * Here( 1 ):C) * Here( 1 ):Faktor ) );
dt << New Column( "SumColumn", Numeric, Continuous, Formula( :G1scale + :G2scale + :G3scale ) );
J'ai fait fonctionner mon script jusqu'à présent que faire glisser un curseur met à jour les colonnes de formules dans la table de données, mais j'ai du mal à faire de même avec mes boutons radio.
update = Expr(
Here( 1 ):A = p;
Here( 1 ):B = r;
Here( 1 ):C = t;
Here( 1 ):Faktor = Choose( nw1["cat"], 1, 2, 3, 4 );
dt << rerun formulas;
Wait( 0 );
);
nw1 = New Window( "Faktor",
Outline Box( "Select Faktor", cat = Radio Box( {"1", "2", "3", "4"} ),update )
);
nw2=New Window( "Sliding",
Outline Box( "A",
Slider Box(
1,
10,
p,
update
)
),
Outline Box( "B",
Slider Box(
1,
10,
r,
update
)
),
Outline Box( "C",
Slider Box(
1,
10,
t,
update
)
)
);
g1=Graph Builder(
Size( 529, 456 ),
Show Control Panel( 0 ),
Variables(
X( :WL ),
Y( :G1scale ),
Y( :G2scale, Position( 1 ) ),
Y( :G3scale, Position( 1 ) ),
Y( :SumColumn, Position( 1 ) )
),
Elements( Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Simulated Plot" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Mygauss" )} )
)
);Je n'arrive pas à mettre à jour la table de données (et donc le graphique) lorsque je sélectionne un bouton radio.
Un deuxième problème est que je souhaite réunir les trois fenêtres actuelles en une seule (tableau de bord ou application). Je peux tous les sélectionner pour combiner les fenêtres, mais lorsque j'essaie de les envoyer au générateur de tableau de bord, seule la fenêtre du générateur de graphiques apparaît, pas les silders. Comment puis-je faire glisser mes boutons silder/radio dans le tableau de bord/créateur d'applications ?
Organisation du contenuPersonnalisation de masse