Option pour traiter Distribution() comme modalSalut,
Est-il possible de traiter la fonction "Distribution" comme modale ? Je cherche à créer un rapport de distribution avec un nombre arbitraire de distributions continues que je modifierai ou changerai ultérieurement via JSL. J'ai trouvé qu'une boîte de dialogue s'ouvre lorsque j'exécute le code ci-dessous, mais l'exécution n'est pas interrompue et le reste de mon code est exécuté avant que j'aie la possibilité de sélectionner mes colonnes d'intérêt.
J'ai également étudié l'utilisation d'une boîte de dialogue de colonne, mais je n'arrive pas à comprendre comment coder directement un objet de rapport de distribution avec un nombre arbitraire de distributions continues. Toute contribution sur la façon d'accomplir cela est grandement appréciée!
dist = dt << Distribution( Stack ( 1 ), <<MODAL></MODAL>
vs mettre quelque chose comme ci-dessous dans une boucle for ...
Distribution(
Stack( 1 ),
Continuous Distribution(
Column( As Column( arbitraryName ) ),
Horizontal Layout( 1 )
Vertical( 0 ),
),
);
Merci beaucoup,
Connor
Utilisation de JMP 16.0.0
Automatisation et scriptExploration et visualisation des donnéesles fenêtresRe : Option pour traiter la distribution () comme modaleVoici une façon de procéder.Placez simplement la distribution dans une fenêtre modale.
Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
new window("",modal,
Distribution(
Stack( 1 ),
Continuous Distribution(
Column( As Column( "weight" ) ),
Horizontal Layout( 1 ),
Vertical( 0 ),
)
));

Aucun code après l'exécution de la fenêtre ne sera exécuté tant que le bouton OK n'aura pas été enfoncé.
Re : Option pour traiter la distribution () comme modaleTrès probablement, l'utilisation de la fenêtre modale comme Jim l'a suggéré est l'option la plus simple.
Vous pouvez également fournir des expressions aux plates-formes qui seront exécutées une fois que l'utilisateur aura terminé les sélections, mais leur utilisation est généralement plus difficile et non nécessaire. Guide de script > Plates-formes de script > Activer la saisie utilisateur dans les plates-formes JMP
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Distribution(Action(doit));
doit = Expr(
New Window("Bivariate", Bivariate(Action(doit2)))
);
doit2 = Expr(Caption("analyses complete"));Re : Option pour traiter la distribution () comme modaleJim, merci pour la réponse. Je pense que ma question aurait pu être plus clarifiée, mais j'ai trouvé un moyen de faire ce que je voulais voir ci-dessous. C'est quand même un peu maladroit...
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
dlg = Column Dialog( colList = Col List( "Columns" ), );
numCols = N Items( dlg["colList"] );
startSubstring = ",Continuous Distribution( Column(:";
endSubstring = "), Horizontal Layout( 1 ), )";
mainStr = "Distribution( Stack( 1 )";
For( colCount = 1, colCount <= numCols, colCount++,
myCol = dlg["colList"][colCount];
distStr = startSubstring || Expr( myCol ) || endSubstring;
mainStr ||= distStr;
Show( mainStr );
);
mainStr ||= ")";
dist = Eval( Parse( mainStr ) );
// Code to modify dist goes here
Il s'agit essentiellement d'une boîte de dialogue de distribution moins efficace, mais résout le problème que j'avais avant que l'exécution ne s'arrête pas lorsque je demande à un utilisateur de sélectionner ses colonnes. Tout cela est fait avec l'intention d'ajouter des statistiques à la fenêtre de distribution résultante. Merci pour votre aide!