Opzione per trattare Distribution() come modaleCIAO,
È possibile trattare la funzione "Distribuzione" come modale? Sto cercando di creare un rapporto di distribuzione con un numero arbitrario di distribuzioni continue che successivamente modificherò o modificherò tramite JSL. Ho scoperto che si apre una finestra di dialogo quando eseguo il codice seguente, ma l'esecuzione non viene interrotta e il resto del mio codice viene eseguito prima che io abbia la possibilità di selezionare le mie colonne di interesse.
Ho anche esaminato l'utilizzo di una finestra di dialogo colonna, ma non riesco a capire come codificare direttamente un oggetto report di distribuzione con un numero arbitrario di distribuzioni continue. Qualsiasi input su come realizzare questo è molto apprezzato!
dist = dt << Distribution( Stack ( 1 ), <<MODAL></MODAL>
vs mettere qualcosa come sotto in un ciclo for ...
Distribution(
Stack( 1 ),
Continuous Distribution(
Column( As Column( arbitraryName ) ),
Horizontal Layout( 1 )
Vertical( 0 ),
),
);
Grazie molto,
Connor
Utilizzo di JMP 16.0.0
Automazione e scriptingEsplorazione e visualizzazione dei datifinestreRi: Opzione per trattare Distribution() come modaleEcco un modo per farlo.Basta inserire la distribuzione in una finestra 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 ),
)
));

Nessun codice dopo l'esecuzione della finestra verrà eseguito fino a quando non viene premuto il pulsante OK.
Ri: Opzione per trattare Distribution() come modaleMolto probabilmente usare la finestra modale come suggerito da Jim è l'opzione più semplice.
Puoi anche fornire espressioni alle piattaforme che verranno eseguite dopo che l'utente ha completato le selezioni, ma l'utilizzo di questo è solitamente più difficile e non necessario Guida allo scripting > Piattaforme di scripting > Abilita l'input dell'utente nelle piattaforme 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"));Ri: Opzione per trattare Distribution() come modaleJim, grazie per la risposta. Penso che la mia domanda avrebbe potuto usare qualche chiarimento in più, ma ho trovato un modo per fare quello che volevo mostrato di seguito. Comunque è un po' goffo...
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
Questa è fondamentalmente una finestra di dialogo di distribuzione meno efficiente, ma risolve il problema che avevo prima che l'esecuzione non si interrompesse quando chiedo a un utente di selezionare le proprie colonne. Tutto questo viene fatto con l'intenzione di aggiungere statistiche alla finestra di distribuzione risultante. Grazie per l'aiuto!