Ist es möglich, einen Zeilenstatus-Handler auf eine Datentabelle anzuwenden und dafür zu sorgen, dass dieser Handler weiterhin funktioniert, wenn die Datentabelle geändert wird? Wenn zum Beispiel eine Spalte durch ein Skript oder interaktiv durch einen Benutzer sortiert wird?
Ich habe derzeit zwei Datentabellen: eine Tabelle mit zusammenfassenden Statistiken, eine mit Rohdaten. Der Benutzer wählt eine Zeile in der Übersichtstabelle aus, der Zeilenstatus-Handler erkennt, welche Zeile ausgewählt ist, extrahiert den Parameternamen und erstellt unter Verwendung des ausgewählten Parameters ein Diagramm aus der Rohdatentabelle.
Es funktioniert einwandfrei (obwohl es zunächst die Zeile aufnimmt, deren Auswahl aufgehoben wurde, bevor es dann die neu ausgewählte Zeile findet), es bricht jedoch ab, wenn der Benutzer die Übersichtstabelle sortiert (z. B. wenn er sich den niedrigsten Cpk oder eine andere Metrik ansehen möchte). ).
Ich sehe das gleiche Problem im folgenden einfachen Beispiel, das auf der Skripthilfe basiert:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
f = Function( {a}, Print( a ) );
rs = dt << make row state handler( f );
dt << Select Rows( 1 );
dt << sort( by( :weight ), replace table, order( ascending ) );
dt << Select Rows( 9 );Die Ausgabe lautet:
Scriptable[]
[1]
Ich denke, das könnte mit diesem Wunschlisteneintrag zusammenhängen: https://community.jmp.com/t5/JMP-Wish-List/Improve-JMP-s-state-handlers-hover-label-row-state-handler/idi-p/527992 . Gibt es eine Problemumgehung?
Ich verwende JMP17.0 unter MacOS.
Danke schön!