JSL-Erstellung einer Teilmengendatentabelle mit durch den Spaltenwert definierter ZeilenauswahlIch habe gerade angefangen, JSL mit JMP16 zu lernen
Beim Versuch, ein Skript zu schreiben, um eine Teilmengendatentabelle mit ausgewählter Zeile zu erstellen, werden die Auswahlkriterien durch numerische Werte in Spalte (7) definiert.
Das Rückgrat des folgenden Skripts ist „subset“, das auf der Registerkarte „Tabellen“ ausgeführt wird.
Data Table( "Subset of 200 kinome all excel" ) <<
Subset(
Linked,
selected rows only(0),
row selection (select where (as column(7) >0.3) );
Selected columns only(0),
);
Die Auswahl des obigen Skripts hat nicht funktioniert. Die Teilmengentabelle ist identisch mit der Originaltabelle.
Was habe ich verpasst?
Danke
Automatisierung und SkripterstellungBetreff: JSL-Subset-Datentabelle mit durch Spaltenwert definierter Zeilenauswahl erstellenIch danke Ihnen für Ihre Hilfe!
Betreff: JSL-Subset-Datentabelle mit durch Spaltenwert definierter Zeilenauswahl erstellenIch würde diesen Ansatz überhaupt nicht verwenden und er funktioniert auf meinem Computer nicht (immer noch alle Zeilen in einer Teilmenge und kein Fehler/keine Meldung):
Names default to here(1);
dt=open("$SAMPLE_DATA\Big Class.jmp");
Data Table( dt ) << Subset(
Linked,
selected rows only( 1 ),
row selection( select where( As Column( 2 ) > 13 ) ),
Selected columns only( 0 ),
);
Der Grund dafür ist, dass ich in der Dokumentation von „Subset“ keine Option wie „Zeilenauswahl“ finden konnte, es gibt nur eine
, [number, number, ...])>,
sehen: Teilmenge einer Datentabelle (jmp.com)
Und die Gefahr besteht darin, dass unbekannte Parameter keinen Fehler auslösen, was das Debuggen erschwert.
Außerdem wäre ich bei der Auswahl von Zeilen innerhalb dieser Teilmengenanweisung nicht wirklich sicher, dass die Auswahl vor der Teilmenge erfolgt, sodass es für mich nicht stabil aussieht.
Meine Lösung wäre, entweder die Zeilen vor der Teilmengenanweisung auszuwählen oder wie unten beschrieben die Zeilennummern explizit auszuwählen.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
Data Table( dt ) << Subset(
Linked,
rows( /* explicit rows [1,2,3] or conditionally: */ Loc( (dt:age << get values) > 16 ) ),
Selected columns only( 0 ),
);
Betreff: JSL-Subset-Datentabelle mit durch Spaltenwert definierter Zeilenauswahl erstellenCode danach bearbeitet @Georg habe meinen Code fehlerhaft gefunden.
Sie haben ein paar kleine Probleme.
- „Selected Rows Only()“ muss aktiviert sein
selected rows only( 1 ),
- Die Select Where-Anweisung muss in eine unabhängige Anweisung umgewandelt werden
Data Table( "Subset of 200 kinome all excel" ) <<
row selection( select where( As Column( 7 ) > 0.3 ) );
Hier ist der vollständige Code
Data Table( "Subset of 200 kinome all excel" ) <<
row selection( select where( As Column( 7 ) > 0.3 ) );
Data Table( "Subset of 200 kinome all excel" ) <<
Subset(
Linked,
selected rows only( 1 ),
Selected columns only( 0 )
);