Wählen Sie Werte aus der Berichtstabelle oder der Zwischenablage im lokalen Datenfilter ausGibt es eine Möglichkeit, Werte aus einer Tabelle (Datentabelle oder Tabelle in einem Bericht) interaktiv auszuwählen und in einen lokalen Datenfilter zu übertragen?
Anders gefragt: Es ist ganz einfach, Werte in einer Liste mit jeweils einem Wert pro Zeile in die Zwischenablage zu kopieren. Können diese irgendwie im lokalen Datenfilter ausgewählt werden oder gibt es hierfür eine alternative Möglichkeit?
Hier ist ein Beispiel-Workflow:

Danke!
MassenanpassungBetreff: Werte aus Berichtstabelle oder Zwischenablage im lokalen Datenfilter auswählenSieht so aus, als würde es ein Add-In mit Ihrem Button-Box-Skript zur Rettung sein!
Danke @txnelson .Ich werde den Beitrag für eine Weile "ungelöst" lassen, nur für den Fall, dass jemand eine No-Script-Lösung findet ...
Betreff: Werte aus Berichtstabelle oder Zwischenablage im lokalen Datenfilter auswählenEin weiterer Gedanke,
Dies könnte automatisiert werden, indem ein Row State Handler auf die Datentabelle angewendet wird.Jedes Mal, wenn sich ein Rowstate ändert, löst dies die Ausführung des Codes aus, der sich derzeit in der Schaltflächenbox befindet, und aktualisiert den lokalen Filter.
Betreff: Werte aus Berichtstabelle oder Zwischenablage im lokalen Datenfilter auswählenEs gibt vielleicht bessere Möglichkeiten, dies zu tun, aber hier ist meine Meinung dazu.Wenn Sie ein separates Fenster mit nur einer Button Box() darin erstellen, wird durch Klicken auf die Schaltfläche ein einfaches Skript ausgeführt, das den Filter ändern kann

Hier ist das Skript, das das obige Beispiel erzeugt
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dis = dt << Distribution( continuous Distribution( Column( :height ) ) );
lf = dis << Local Data Filter( Add Filter( columns( :name ), Mode( Show( 1 ), Include( 1 ) ) ) );
nw = New Window( "Set Values",
Button Box( "Click to Set Selection From Selected Rows",
theRows = dt << get selected rows;
If( N Rows( theRows ) > 0,
theWhere = ":name == \!"" || dt:Name[theRows[1]] || "\!"";
For( i = 2, i <= N Rows( theRows ), i++,
theWhere = theWhere || " | :name == \!"" || dt:Name[theRows[i]] || "\!""
);
lf << delete all;
Eval( Parse( "lf << add filter (Columns (:name), where( " || theWhere || " ) );" ) ),
lf << delete all;
lf << add Filter ( Columns (:name));
);
)
);