Interaktiver Datentabellen-Selektor<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Gibt es eine Möglichkeit, diesen folgenden Datentabellenlisten-Auswahlteil in ein JSL-Skript zu skripten?

Im Moment habe ich ein Skript erstellt, aber nur für jeweils eine Datentabelle. Gibt es eine Funktion, die ich aufrufen kann, um einen Datentabellenlistenselektor wie das Bild zu erstellen, das ich oben angehängt habe, und nach der Auswahl kann ich meine Aktuelle Datentabelle entsprechend aktualisiert? Mein nicht so flexibles Skript sieht jetzt so aus

Das möchte ich erreichen

Jede Hilfe wäre sehr dankbar!
Betreff: Interaktive DatentabellenauswahlHat jemand eine Lösung zum Aktualisieren des Filter Col Selector mit einer ähnlichen Methode wie PMroz? Seine Antwort kommt dem, was ich erreichen möchte, so ziemlich am nächsten. Der einzige Unterschied besteht darin, dass ich einen Filter Col Selector anstelle eines Col List Box verwende und es irgendwie nicht hinbekomme, ihn entsprechend zu aktualisieren oder zu aktualisieren
Betreff: Interaktive DatentabellenauswahlHallo PMroz,
Das funktioniert bei mir hervorragend. Ich habe es in mein Skript integriert und festgestellt, dass ich dort oben ein Wort falsch verwendet habe. Ich habe einen Filter-Spaltenselektor anstelle eines Spaltenlistenfelds verwendet. Ich sehe, dass Sie das so machen, indem Sie das festlegen und aktualisieren Ein neuer Satz von Spalten aus der Tabelle wird basierend auf der ausgewählten Datentabelle erstellt, und der Teil, der ihn aktualisiert, erfolgt beim Aufruf
columns_listbox = Listenfeld ( col_list ) ;
um die neu aktualisierte Tabelle anzuzeigen. Also habe ich versucht, es für den „Filter-Spaltenselektor“ zu replizieren.
1) Ich habe einen Teil Ihres Codes geändert, sodass er nicht in einem neuen Fenster erscheint, sondern zu meinem ursprünglichen Fenster wechselt
2) Ich habe den Filter Col Selector in die Variable „SelectedIndex“ geändert und rufe sie unten auf, in der Hoffnung, dass sie aktualisiert wird, aber offensichtlich mache ich es falsch. Kennen Sie die richtige Methode zum Aktualisieren der Filter-Spaltenauswahl, wie Sie es für das Spaltenlistenfeld getan haben? Ich möchte Ihre Arbeitsmethode für das Col List Box auf den Filter Col Selector anwenden

Dies ist mein Code für den Filter Col Selector
param = Filter Col Selector(data table(selectedIndex),
alle,
Breite (250),
colname = param << get selected();
colStatInfo(colname[1]);
Liste << ungültig;
list << updateWindow;
list << reshow;
),
param << nominal( 0 );
//param << Name enthält( " " );
)
Betreff: Interaktive DatentabellenauswahlProbieren Sie diesen Code aus:
// Die Tabellen-Combobox mit einer Liste vorhandener Tabellen vorladen
default_table = aktuelle Datentabelle () << Namen bekommen ;
Tabellenliste = {} ;
Tische = ntisch () ;
Für ( ich = 1 , ich <= Tische , ich ++,
one_name = Datentabelle ( ich ) << Holen Sie sich den Namen ;
Tabellenliste [ ich ] = one_name ;
// Für die Standardtabelle das Spaltenlistenfeld laden
Wenn ( one_name == default_table ,
Ideal = ich ;
col_list = Datentabelle ( ich ) << Spaltennamen abrufen ( als String ) ;
) ;
) ;
jetzt = neues Fenster ( "Prüfen" ,
select_table_combo = Kombinationsfeld ( Tabellenliste ,
// Diese Funktion wird aufgerufen, wenn sich die Auswahl im Kombinationsfeld ändert
selectedIndex = select_table_Combo << Werden Sie ausgewählt ;
col_list = Datentabelle ( selectedIndex ) << Spaltennamen abrufen ( als String ) ;
// columns_listbox << alle entfernen;
columns_listbox << Elemente festlegen ( col_list ) ; ) ,
columns_listbox = Listenfeld ( col_list ) ;
) ;
Betreff: Interaktive DatentabellenauswahlHallo PMroz, ich habe die Präsentation gelesen und bin mir jetzt darüber im Klaren, dass sie mit dem Application Builder einfacher und viel interaktiver gestaltet werden kann, aber an diesem Punkt (tausend Zeilen im Skript) würde es wahrscheinlich einige Zeit dauern, sie neu zu erstellen im Anwendungs-Builder. Gibt es eine Möglichkeit, die Spalten automatisch zu aktualisieren, wenn ich die Tabelle auswähle und auf das Schaltflächenfeld klicke, ohne alles zum Anwendungs-Builder zu portieren?
Betreff: Interaktive DatentabellenauswahlDas Präsentation auf Application Builder sollte hilfreich sein.Unter anderem wird gezeigt, wie ein Listenfeld dynamisch mit Spaltennamen gefüllt wird, wenn eine bestimmte Tabelle ausgewählt wird.
Betreff: Interaktive DatentabellenauswahlEntschuldigung, ich hätte mehr Details angeben sollen. Sie haben Recht, ich habe irgendwo unten ein Spaltenlistenfeld, das ich automatisch aktualisieren möchte und die Spalten entsprechend der von mir ausgewählten Tabelle anzeigt

Können Sie das Anhängen eines Skripts näher erläutern? dtlb? Oben definiert, dtlb = ListBox ( dtNames , MaxItems ( 1 ))
Betreff: Interaktive DatentabellenauswahlIch denke, die Antwort hängt davon ab, wie Sie die anderen Teile der Benutzeroberfläche so gestaltet haben, dass sie den gewünschten Workflow unterstützen. Aber ich glaube nicht, dass Sie eine Rekursion brauchen.
Wenn Sie beispielsweise auch über eine „ColListBox()“ verfügen, um die Spalten der Tabelle anzuzeigen, die über die obige Methode ausgewählt wurde, können Sie ein Skript an „dtlb“ (oben definiert) anhängen, sodass (wenn die Tabellenauswahl erfolgt). erstellt oder geändert) aktualisiert es automatisch die Liste der verfügbaren Spalten. Ebenso könnten Sie ein Skript an „ColListBox()“ binden, das ein Berichtsfenster erstellt oder aktualisiert (vorausgesetzt, Sie benötigen nur eine Spalte für Ihre Analyse).
(Ohne weitere Details zu sehen, ist es etwas schwierig, hilfreicher zu sein.)
Betreff: Interaktive DatentabellenauswahlVielen Dank, Ian, für die Hilfe. Ich habe eine Folgefrage, wenn es Ihnen nichts ausmacht. Da ich nun die Möglichkeit habe, die Liste aller Datentabellen abzurufen, das Skript zu aktualisieren und alle Vorgänge für die neu ausgewählte Datentabelle auszuführen, wird empfohlen, genau dasselbe Skript (mit der neu ausgewählten Datentabelle) durch Rekursion aufzurufen ? Oder gibt es eine mir unbekannte Funktion, die das Skript schnell aktualisieren und für die von mir ausgewählte neue Datentabelle ausführen kann?
Betreff: Interaktive DatentabellenauswahlVielleicht so etwas:
NamesDefaultToHere ( 1 ) ;
dtNames = {} ;
Für ( T = 1 , T <= NTable () , T ++,
Einfügen in ( dtNames , Datentabelle ( T ) << getName ) ;
) ;
jetzt =
Neues Fenster ( "Prüfen" ,
PanelBox ( „Wählen Sie einen Tisch“ ,
dtlb = ListBox ( dtNames , MaxItems ( 1 ))
) ,
ButtonBox ( "OK" , OKscript )
) ;
OKScript =
Ausdruck (
jetzt << Fenster schließen ;
dtName = dtlb << getSelected ;
Wenn ( NItems ( dtName ) > 0 ,
Drucken ( „Tabelle ausgewählt:“ || dtName [ 1 ])
,
Drucken ( „Keine Tabelle ausgewählt“ )
)
) ;
Betreff: Interaktive Datentabellenauswahl@pmroz Hallo, könnten Sie den Präsentationslink noch einmal mit dem Anwendungs-Builder teilen? Ich habe den gleichen Anwendungsfall, aber der Link scheint archiviert worden zu sein.
Betreff: Interaktive DatentabellenauswahlBitte schön, @Aadit . Dies wurde in JMP 10 geschrieben! Sollte aber dennoch über relevante Informationen verfügen.