Hallo,
Hier ist mein nicht ganz funktionierendes Skript.
test = Fit Group(
Oneway(
Y( :Max Discharge Capacity ),
X( :Cathode Recipe.x ),
Quantiles( 1 ),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 0 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
),
Oneway(
Y( :"Cycle Number (>0.3)"n ),
X( :Cathode Recipe.x ),
Quantiles( 1 ),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 0 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
),
Oneway(
Y( :"Discharge Capacity @ 50 Cycles"n ),
X( :Cathode Recipe.x ),
Quantiles( 1 ),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 0 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
),
Oneway(
Y( :"Remain % @ 50 Cycles"n ),
X( :Cathode Recipe.x ),
Quantiles( 1 ),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 0 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
),
<<{Arrange in Rows( 4 )}
);
colpick=test << Column Switcher(
:Cathode Recipe.x,
{:Cathode Batch ID.x, :Anode Batch ID.x, :Electrolyte Recipe.x, :Anode Recipe.x, :Separator Recipe.x, :Separator Batch ID.x}
);
test << Local Data Filter(
Add Filter(
columns( colpick<< get current ),
Display( colpick<< get current, N Items( 15 ), Find( Set Text( "" ) ) )
)
);
Der Spaltenumschalter wird erstellt und funktioniert wie erwartet. Ich möchte, dass beim Wechseln der Spalte der lokale Datenfilter mit den entsprechenden Werten dieser Spalte aktualisiert wird, damit der Benutzer seine Ansicht der Daten weiter verfeinern kann. Ich glaube, ich bin nah dran. Wie sollte der lokale Datenfilter codiert werden, um die Spalte des Spaltenumschalters abzurufen und dann zu aktualisieren?

Danke im Voraus
Andy
Hier ist eine Überarbeitung Ihres Codes unter Verwendung der Beispieldatentabelle Semiconductor Capability.


Names Default To Here( 1 );
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
test = Fit Group(
Oneway(
Y( :NPN1 ),
X( :Site ),
Quantiles( 1 ),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 0 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
),
Oneway(
Y( :PNP1 ),
X( :Site ),
Quantiles( 1 ),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 0 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
),
Oneway(
Y( :NPN2 ),
X( :Site ),
Quantiles( 1 ),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 0 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
),
Oneway(
Y( :PNP2 ),
X( :Site ),
Quantiles( 1 ),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 0 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
),
<<{Arrange in Rows( 4 )}
);
// Set the Column Switcher
colpick = test << Column Switcher( :Site, {:lot_id, :wafer, :site, :wafer id in lot id} );
// Add a script to the Column Switcher to change the Local Data Filter
// whenever the selection in the Column Switcher is changed. When a change
// is detected, the existing Local Data Filter is deleted and a new one
// is created, with the new column that was selected in the Column Switcher
(test << top parent)[listboxbox( 1 )] << set script(
Try( test << remove local data filter );
mycurrent = ((test<<TOP parent=""></TOP>
Danke genau das habe ich gebraucht. Und darauf wäre ich von alleine nie gekommen.