Rufen Sie mithilfe von JSL den Wert aus einer bestimmten Spalte in der ersten ausgewählten Zeile abIch versuche einfach, den Wert aus einer bestimmten Spalte in der ersten ausgewählten Zeile zu ermitteln – aber irgendwie ist das überraschend schwierig.Folgendes habe ich bisher:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Select Where( :Wafer Number == "16" & :Die X == 3);
selRow = ( dt << get selected rows() )[0];
Row() = selRow;
site = :Site; // returns "1", should return "5" (:Site from row 15)
Ich erwarte, dass „site“ mit 5 endet, aber es endet mit 1.Was fehlt mir hier?
Beachten Sie auch, dass ich etwas Ähnliches in einer Tabelle mit 33 Millionen Zeilen versucht habe und JMP mehrere Minuten lang nicht reagierte.Ich habe mit verschiedenen Möglichkeiten experimentiert, dies zu tun, sodass ich es möglicherweise versehentlich gebeten habe, zuerst eine Liste mit 33 Millionen Dingen zu erstellen und dann das 14-M-te Element zu übernehmen.Ich hoffe, dass die Lösung, die ich letztendlich für die obige Frage finde, das nicht bewirken wird.
Automatisierung und SkripterstellungBetreff: Den Wert aus einer bestimmten Spalte in der ersten ausgewählten Zeile mithilfe von JSL abrufenSie müssen nur auf das erste [1] Element in der Get Rows Where-Matrix verweisen
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Select Where( :Wafer Number == "16" & :Die X == 3 );
site = :site[(dt << get selected rows())[1]];
// or
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
site = :Site[(dt << get rows where( :Wafer Number == "16" & :Die X == 3 ))[1]];
Betreff: Den Wert aus einer bestimmten Spalte in der ersten ausgewählten Zeile mithilfe von JSL abrufenDaten in Datentabellen werden also grundsätzlich als eine Reihe von Spalten gespeichert, die jeweils eine Liste von Einträgen darstellen?
(Und ja, ich bin ein Python-Programmierer, also habe ich das Ding [0] -> [1] verpasst ...)
Außerdem habe ich alle JMP-Dokumentationsabschnitte durchsucht, von denen ich dachte, dass sie hilfreich sein könnten, konnte aber nichts dazu finden, z. B. die :site[rowNumber]-Notation.Wenn jemand weiß, wo das ist, würde ich diesen Abschnitt der Dokumentation gerne lesen.
Danke, Jim!
Betreff: Den Wert aus einer bestimmten Spalte in der ersten ausgewählten Zeile mithilfe von JSL abrufenAbonnieren der Datentabelle ist ein guter Beitrag in der Community und Dokumentation finden Sie im Scripting Guide Skripthandbuch > Datentabellen > Auf Datenwerte zugreifen ist ein guter Ausgangspunkt. Es enthält zusätzliche Links zu anderen Seiten mit weiteren Informationen
Betreff: Den Wert aus einer bestimmten Spalte in der ersten ausgewählten Zeile mithilfe von JSL abrufen@txnelson : Dieser Ansatz benötigt fast eine ganze Sekunde, um den Wert in einer großen Tabelle (33 Millionen Zeilen) zurückzugeben.Ansonsten verhält sich der Tisch in Ordnung, daher denke ich, dass dieser Ansatz unter der Decke etwas Schwerfälliges bewirken könnte ...Gibt es andere Ansätze, die ich testen könnte?
-> UPDATE: Mir ist gerade aufgefallen, dass der Aufruf „Get Selected Rows()“ langsam ist, nicht der Datenzugriff.Merkwürdig, das scheint schnell zu gehen.
Betreff: Den Wert aus einer bestimmten Spalte in der ersten ausgewählten Zeile mithilfe von JSL abrufenNormalerweise verwende ich „Get Rows Where()“ über „Select Where“, gefolgt von „Get Selected Rows“.Sofern Sie nicht die visuelle Anzeige ausgewählter Zeilen benötigen, habe ich immer gedacht, dass es schneller ist.
Betreff: Den Wert aus einer bestimmten Spalte in der ersten ausgewählten Zeile mithilfe von JSL abrufen@txnelson Mein eigentlicher Zweck bestand nicht darin, „wo“ auszuwählen, sondern dass ich auf einen Punkt in einem Graph Builder-Plot klicke, der mit der Datentabelle (A) verknüpft ist, und den Datenfilter in einem Graph Builder-Plot aktualisieren möchte, der mit der Datentabelle verknüpft ist (B).Der erste Klick wählt die Zeilen aus, dann sollte die JSL das ID-Feld aus der ausgewählten Zeile der ersten Tabelle abrufen und diesen Wert dann in den Datenfilter im Graph Builder B-Diagramm einfügen.
Ich habe es heute (ja!) mit „Get Selected Rows()“ zum Laufen gebracht, aber es ist nur merkwürdig, dass diese Funktion bei großen Datensätzen relativ langsam ist.Ich glaube, es wird eine unsichtbare Spalte nach allen „1“ oder so durchsucht ...
Vielen Dank für Ihre Hilfe!