Wie fülle ich ein Kombinationsfeld mit unterschiedlichen Werten?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo
Was ist der beste Weg, ein Kombinationsfeld mit den unterschiedlichen Werten einer Spalte zu füllen? Ich möchte den Benutzer fragen können, welche Daten (in diesem Fall die Teilenummer) er/sie analysieren möchte, und dann würde der Code basierend auf seiner Auswahl eine neue Teilmengentabelle nur des ausgewählten Werts erstellen.
Ich stelle mir vor, dass der Code etwa so aussieht:
Werte = : Spaltennamehier << Erhalten Sie klare Werte ;
Neues Fenster ( "Beispiel" ,
cb = Kombinationsfeld ( Werte ) ,
Button-Box ( "OK" )
) ;
Hier etwas Code zum Erstellen einer Teilmengentabelle ...
Weiß jemand, was die beste Vorgehensweise dafür wäre?
Danke
Wie fülle ich ein Kombinationsfeld mit unterschiedlichen Werten?Ich habe die Funktion nie für eine numerische Spalte ausprobiert.Interessante Ergebnisse.
Ich habe einige Leistungstests von assoziativen Arrays im Vergleich zu Zusammenfassungen durchgeführt, um eindeutige Werte zu bestimmen, und es war ziemlich gleichmäßig.Als Beispiel habe ich eine Tabelle mit 180.000 Zeilen verwendet.Beide Methoden benötigten 4 Sekunden, um eindeutige Werte für 6 Spalten zu ermitteln.
Betreff: Wie fülle ich ein Kombinationsfeld mit unterschiedlichen Werten aus?Schöne Funktion! Wenn die Spalte numerisch ist, ist Summarize() hier tatsächlich der Methode Associative Array() vorzuziehen. Summarize setzt doppelte Anführungszeichen um numerische Ebenen, während die Elemente in der durch AA<
Für andere Verwendungszwecke, bei denen die Zahl anstelle von Char(number) erforderlich ist, ist der AA-Ansatz möglicherweise die bessere Wahl. Die AA-Methode ist außerdem allgemein, da sie nicht auf Spalten beschränkt ist und viele Arten von Datentypen als Listenelemente (Matrizen, Ausdrücke usw.) akzeptiert.
Betreff: Wie fülle ich ein Kombinationsfeld mit unterschiedlichen Werten aus?Es scheint, dass Kombinationsfelder mit leeren Einträgen durcheinander geraten.Wenn Sie stattdessen eine Listbox verwenden, funktioniert es, obwohl einer der Einträge leer ist, was Sie nicht möchten.
Hier ist die Funktion, die ich verwende, um eindeutige Werte aus einer Spalte abzurufen, die das verwendet Zusammenfassen Befehl:
//------------------------------------------------ -------------
/* Funktionsname Eindeutige Werte abrufen
Beschreibung: Rufen Sie die eindeutigen Werte für eine Spalte ab.Zum Beispiel:
Hinweise
------------
AAAAA
BBBBB
AAAAA
CCCCC
CCCCC
unique_list = eindeutige Werte abrufen (:Indications)
wird {"AAAAA", "BBBBB", "CCCCC"} zurückgeben
Argumente:
dtcol-Spaltendeskriptor, für den eindeutige Werte berechnet werden sollen
*/
Erhalten Sie einzigartige Werte = Funktion ( { dtcol } , { Standard lokal } ,
// Eval/expr-Tricks, damit dies funktioniert.
evalu ( Bewertungsausdruck (
Zusammenfassen ( unique_list = Von ( Ausdruck ( dtcol ))))) ;
unique_list ;
) ; // end eindeutige Werte abrufen
Hier ist ein Beispiel, das zeigt, wie die Funktion verwendet wird.Ich habe vorher die Tabelle „Autophysikalische Daten“ gelesen und einige Einträge in der Spalte „Land“ ausgeblendet.
dt = Offen ( „$sample_data\Car Physical Data.jmp“ ) ;
Länderliste = Erhalten Sie eindeutige Werte ( Spalte ( dt , "Land" ) ) ;
für ( ich = nitems ( Länderliste ) , ich > 0 , ich --,
drucken ( ich ) ;
Wenn ( Länderliste [ ich ] == „“ ,
entfernen von ( Länderliste , ich ) ;
)
) ;
nw1 = Neues Fenster ( "Beispiel" ,
cb = Kombinationsfeld ( Länderliste ) ,
Button-Box ( "OK" , nw1 << Fenster schließen )
) ;
nw2 = Neues Fenster ( "Beispiel" ,
Pfund = Listenfeld ( Länderliste ) ,
Button-Box ( "OK" , nw2 << Fenster schließen )
) ;
Ich denke, das Beste, was man tun kann, ist, die Funktion zum Entfernen von Leerzeichen hinzuzufügen.
Wie fülle ich ein Kombinationsfeld mit unterschiedlichen Werten?Ich habe es mit einer For-Schleife zum Laufen gebracht, die alle leeren Zellen ignoriert. Hier ist der Code für alle, die neugierig sind:
partArray = Assoziatives Array () ;
Für ( ich = 1 , ich <= N Zeilen ( dt ) , ich ++,
Wenn ( Teil [ ich ] != „“ ,
partArray << Einfügen ( Teil [ ich ] )
)
) ;
partArray = partArray << Schlüssel bekommen ;
Wie fülle ich ein Kombinationsfeld mit unterschiedlichen Werten?Ich habe herausgefunden, dass dies passiert, wenn in der Spalte eine leere Zelle vorhanden ist. Wenn die leeren Zellen gelöscht werden, funktioniert es einwandfrei. Irgendeine Idee, warum es mit den leeren Zellen nicht funktioniert?
Wie fülle ich ein Kombinationsfeld mit unterschiedlichen Werten?Danke. Das ist genau das, was ich wollte.
Dies funktioniert jedoch nicht für meinen Tisch. Wenn ich Ihren Code mit der Beispieltabelle „Big Class“ verwende, funktioniert es einwandfrei. Wenn ich jedoch die Tabelle mit meinen Daten durch die Tabelle ersetze, ist das Kombinationsfeld leer. Irgendwelche Ideen warum?? Durch das Ändern der Spalten ändert sich die Breite des Kombinationsfelds, es ist jedoch immer noch leer. Ich habe die Spalteneigenschaften überprüft und sie sind mit denen in Bog Class identisch.
Irgendwelche Ideen?
Danke noch einmal
Wie fülle ich ein Kombinationsfeld mit unterschiedlichen Werten?A aktueller JMP-Blogeintrag stellte verschiedene Möglichkeiten vor, um eine Liste eindeutiger Werte zu erhalten. Ein Ansatz, den ich dort gelernt habe, verwendet assoziative Arrays.
dt = Offen ( „$SAMPLE_DATA/Big Class.jmp“ ) ;
Partnernr = Assoziatives Array ( ( : Sex << Werte bekommen ) ) << Schlüssel bekommen ;
Neues Fenster ( "Beispiel" , cb = Kombinationsfeld ( ( Partnernr ) ) , Button-Box ( "OK" ) ) ;