Hallo,
Ich hoffe, es geht dir gut.
Dies ist ein sehr langer und nicht optimierter Code, um 2 Teilmengen aus zwei verschiedenen Datensätzen ("CL and Spec" und "Data set") auszuführen. Es gibt ein Textfeld, in dem Sie auswählen können, welche Zeilen entsprechend den Ebenen der Datensätze ausgewählt werden sollen.
Das Problem besteht jedoch darin, dass nach der Ausführung der Teilmenge der ersten Datentabelle (Datensatz mit dem Namen „CL und Spec“) die Teilmenge des zweiten Datensatzes (mit dem Namen „Datensatz“) nicht ohne Fehlermeldung funktioniert. Es gibt einfach keine Teilmenge, die ausgeführt wird. Mein Verständnis ist, dass es ein Problem mit meiner Art gibt, den Datensatz auszuwählen, der für die Teilmenge ausgewählt werden soll. Oder ich habe die Funktion "Aktuelle Datentabelle" nicht korrekt verwendet.
Hier ist mein Code:
dt2 = Data Table( "CL and Spec" );
Current Data Table( dt2 );
// get unique values from the strength column
Summarize( dt2, levels = by( :Product ) );
// construct a window containing checkboxes
New Window( "Selection",
modal,
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ),
V List Box(
Text Box( "Select values:" ),
here:cb = Check Box( levels ),
Spacer Box( size( 0, 20 ) ),
Button Box( "Create Subset", doSubset() )
)
)
);
// define function to perform when button is cliccked
doSubset = Function( {},
{default local},
dt2 = Current Data Table();
dt2 << clear select;
// get user selections
selected = here:cb << get selected;
// iterate over each of the selected values
// and select the associated rows
For( i = 1, i <= N Items( selected ), i++,
rows = dt2 << select where( :Product == selected[i], current selection( "extend" ) )
);
// create a subset table
dt2 << subset( selected rows( 1 ), selected columns only( 0 ) );
dt2 << clear select;
);
// Define the control and specification limits
LSL = dt2:LSL[1];
USL = dt2:USL[1];
dt = Data Table( "Data Set" );
Current Data Table( dt );
// get unique values from the strength column
Summarize( dt, levels = by( :Strength ) );
// construct a window containing checkboxes
New Window( "Selection",
modal,
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ),
V List Box(
Text Box( "Select values:" ),
here:cb = Check Box( levels ),
Spacer Box( size( 0, 20 ) ),
Button Box( "Create Subset", doSubset() )
)
)
);
// define function to perform when button is cliccked
doSubset = Function( {},
{default local},
dt = Data Table( "Data Set" );
Current Data Table( dt );
dt << clear select;
// get user selections
selected = here:cb << get selected;
// iterate over each of the selected values
// and select the associated rows
For( i = 1, i <= N Items( selected ), i++,
rows = dt << select where( :Strength == selected[i], current selection( "extend" ) )
);
// create a subset table
dt << subset( selected rows( 1 ), selected columns only( 0 ) );
dt << clear select;
);Ich hoffe, meine Frage und mein Problem sind klar ausgedrückt 
Vielen Dank für Ihre Hilfe und einen schönen Tag!
Jean