Creazione di menu a discesa per l'input utente interattivo<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho una domanda sullo scripting JMP. Sto usando JMP 11. Voglio creare uno script interattivo in JMP. Lo script avrà i seguenti elementi:
1. Lo script visualizzerà un messaggio che chiede agli utenti di selezionare un documento. Gli utenti selezioneranno un nome di documento.
2. Sulla base di tale selezione, lo script rimanente eseguirà query in base al documento selezionato dall'utente e creerà grafici e tabelle pertinenti.
So come raggiungere il numero 2 in JMP. Per il n. 1, so come visualizzare una casella di testo e fare in modo che gli utenti inseriscano l'intero nome del documento, ma ciò darebbe l'opportunità di errori manuali e la query rimanente non funzionerà se viene digitato un nome errato.
Quindi sto pensando che una query del database nella tabella dei documenti visualizzerà tutti i documenti attivi come un elenco a discesa per gli utenti e gli utenti selezioneranno solo uno dei documenti visualizzati. È possibile eseguire script in JMP?
Ho esaminato il manuale di scripting per rendere gli script interattivi, ma le uniche opzioni che ho visto prevedevano che gli utenti inserissero l'intero testo. Quindi volevo verificare con te.
Grazie mille in anticipo!
Re: Creazione di menu a discesa per l'input utente interattivoSto solo ampliando un po' john.ponte il post.Questo è un esempio da cui ho ricevuto WK e si sono modificati spesso.
/* Apre una tabella dati di esempio */
dt = Apri("$DATI_campione\Big Class.jmp");
/* Estrai un elenco di età uniche */
Riassumi( a = Da( :età ) );
Inserisci in( a, "", 1 );
/* Crea una finestra modale */
Nuova finestra( "Esempio",
<
Casella di riepilogo H(
/* Dopo aver selezionato un'età, popolare il secondo ComboBox con i nomi corrispondenti */
Casella del pannello ("Seleziona un'età:",
cb1 = Casella combinata(
un,
<
Funzione( {questo},
selezione = questo << Ottieni selezionato();
r = dt << Ottieni righe dove(:età == Num(selezione));
etàNomi = :nome;
Inserisci in( ageNames, "", 1 );
cb2 << Imposta elementi (ageNames);
)
)
)
),
/* Stampa i valori selezionati da entrambe le ComboBox nel log */
Casella del pannello ("Seleziona un nome:",
cb2 = Casella combinata(
{""},
<
Funzione( {questo},
that=questo<< Ottieni selezionato();
Stampa( selezione, quello )
)
)
)
)
)
);
sel=num(selezione)
Re: Creazione di menu a discesa per l'input utente interattivoPer creare un elenco a discesa in JSL tutto ciò che devi fare è creare un elenco e una casella combinata. Ecco alcuni esempi di JSL:
la mia lista = {
"" ,
"Uno" ,
"Due" ,
"Tre" ,
"Quattro" ,
"Cinque"
} ;
doListChoice = espr (
scelta = la mia casella di riepilogo << getSelected ;
mostrare ( scelta ) ;
) ;
la mia casella di riepilogo = Combo box ( la mia lista , doListChoice ) ;
vincita = nuova finestra ( "Mostra elenco" , la mia casella di riepilogo ) ;
Esegui questo e vedrai un elenco a discesa in una finestra. Quando effettui la tua selezione, visualizzerà ciò che hai selezionato nel registro.
La domanda ora è come costruisci la tua lista? Se i tuoi documenti sono file archiviati in una directory, posso mostrarti alcuni JSL per creare un elenco dalla directory. Ma sembra che i tuoi documenti siano in un database? In tal caso, penso che tu possa interrogare il database e ottenere un elenco. Quindi usa quell'elenco per creare la casella combinata, come mostrato. Non ho scritto nulla usando un database, quindi la mia conoscenza in quell'area è debole.
Questo risponde alla tua domanda? O avevi bisogno di aiuto per interrogare il database?