Erstellen eines Dropdown-Menüs für interaktive Benutzereingaben<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe eine Frage zum JMP-Scripting. Ich verwende JMP 11. Ich möchte ein interaktives Skript in JMP erstellen. Das Skript enthält die folgenden Elemente:
1. Das Skript zeigt eine Meldung an, in der die Benutzer aufgefordert werden, ein Dokument auszuwählen. Benutzer wählen einen Dokumentnamen aus.
2. Basierend auf dieser Auswahl führt das verbleibende Skript Abfragen basierend auf dem vom Benutzer ausgewählten Dokument aus und erstellt relevante Diagramme und Tabellen.
Ich weiß, wie man in JMP Platz 2 erreicht. Für #1 weiß ich, wie man ein Textfeld anzeigt und Benutzer den gesamten Dokumentnamen selbst eingeben lässt, aber das würde zu manuellen Fehlern führen und die verbleibende Abfrage funktioniert nicht, wenn ein falscher Name eingegeben wird.
Ich denke also, dass eine Datenbankabfrage an die Dokumententabelle den Benutzern alle aktiven Dokumente als Dropdown-Liste anzeigt und die Benutzer nur eines der angezeigten Dokumente auswählen. Ist JMP-Skripting möglich?
Ich habe im Skripthandbuch nachgeschaut, um Skripte interaktiv zu gestalten, aber die einzige Option, die ich gesehen habe, bestand darin, dass Benutzer den gesamten Text eingeben müssen. Ich wollte mich also bei Ihnen erkundigen.
Vielen Dank im Voraus!
Betreff: Dropdown-Menü für interaktive Benutzereingaben erstellenIch erweitere es nur ein wenig John. Ponte 's Beitrag.Dies ist ein Beispiel, von dem ich erhalten habe WK und haben sich oft geändert.
/* Beispieldatentabelle öffnen */
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
/* Eine Liste eindeutiger Altersgruppen extrahieren */
Summarize( a = By( :age ) );
Einfügen in( a, "", 1 );
/* Modalen Dialog erstellen */
Neues Fenster( „Beispiel“,
<
H-Listenfeld(
/* Füllen Sie nach der Auswahl eines Alters die zweite ComboBox mit den entsprechenden Namen */
Panel-Box( „Wählen Sie ein Alter aus:“,
cb1 = Kombinationsfeld(
A,
<
Funktion( {dies},
Selection = this << Get Selected();
r = dt << Get Rows Where( :age == Num( choice ) );
ageNames = :name;
Einfügen in( ageNames, "", 1 );
cb2 << Set Items( ageNames );
)
)
)
),
/* Die ausgewählten Werte aus beiden ComboBoxen im Protokoll drucken */
Bedienfeldfeld( „Namen auswählen:“,
cb2 = Kombinationsfeld(
{""},
<
Funktion( {dies},
that=this<< Get Selected();
Drucken(Auswahl, das)
)
)
)
)
)
);
sel=num(Auswahl)
Betreff: Dropdown-Menü für interaktive Benutzereingaben erstellenUm eine Dropdown-Liste in JSL zu erstellen, müssen Sie lediglich eine Liste und eine Combobox erstellen. Hier sind einige JSL-Beispiele:
meine Liste = {
„“ ,
"Eins" ,
"Zwei" ,
"Drei" ,
„Vier“ ,
"Fünf"
} ;
doListChoice = Ausdruck (
Auswahl = myListbox << getSelected ;
zeigen ( Auswahl ) ;
) ;
myListbox = Kombinationsfeld ( meine Liste , doListChoice ) ;
gewinnen = neues Fenster ( "Liste anzeigen" , myListbox ) ;
Führen Sie dies aus und Sie sehen eine Dropdown-Liste in einem Fenster. Wenn Sie Ihre Auswahl treffen, wird im Protokoll angezeigt, was Sie ausgewählt haben.
Die Frage ist nun, wie erstellen Sie Ihre Liste? Wenn es sich bei Ihren Dokumenten um in einem Verzeichnis gespeicherte Dateien handelt, kann ich Ihnen JSL zeigen, um eine Liste aus dem Verzeichnis zu erstellen. Aber es hört sich so an, als wären Ihre Dokumente in einer Datenbank? Wenn das der Fall ist, können Sie meiner Meinung nach die Datenbank abfragen und eine Liste erhalten. Verwenden Sie dann diese Liste, um die Combobox zu erstellen, wie gezeigt. Allerdings habe ich noch keine Skripts mithilfe einer Datenbank geschrieben, daher sind meine Kenntnisse auf diesem Gebiet dürftig.
Beantwortet das deine Frage? Oder brauchten Sie Hilfe bei der Abfrage der Datenbank?