Problema con la selección de la tabla de datosHola,
Espero que lo estás haciendo bien.
Este es un código muy largo y no optimizado para realizar 2 subconjuntos de dos conjuntos de datos diferentes ("CL y especificaciones" y "Conjunto de datos"). Hay un cuadro de texto para elegir qué filas seleccionar según los niveles de los conjuntos de datos.
Sin embargo, el problema es que después de realizar el subconjunto de la primera tabla de datos (conjunto de datos denominado "CL y especificaciones"), el subconjunto del segundo conjunto de datos (denominado "Conjunto de datos") no funciona sin ningún mensaje de error. Simplemente no hay un subconjunto que se realice. Tengo entendido que hay un problema con mi forma de seleccionar el conjunto de datos para seleccionar el subconjunto. O no utilicé correctamente la función "Tabla de datos actuales".
Aquí está mi código:
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;
);Espero que mi pregunta y problema quede claramente expresado 
¡Muchas gracias por su ayuda y que tenga un buen día!
Vaquero
secuencias de comandosRe: Problema con la selección de la tabla de datosNo tengo sus tablas, pero así es como abordaría un problema similar:
Names Default to Here( 1 );
dt2 = Data Table( "CL and Spec" );
// get unique values from the strength column
levels = Associative Array( dt2:product ) << Get Keys;
// construct a window containing checkboxes
continue = 0;
New Window( "Selection",
<<MODAL></MODAL>
Re: Problema con la selección de la tabla de datosDe hecho, mi preocupación es que quiero abrir 2 conjuntos de datos diferentes y usar los datos del primero, y luego cambiar al siguiente.
Usé la función "Tabla de datos actuales" antes de realizar el subconjunto.
Una primera parte del código es cargar el conjunto de datos "CL y especificaciones", abrir un cuadro de texto, crear un subconjunto de una fila del conjunto de datos "CL y especificaciones" y almacenar los parámetros "LSL" y "USL" en el LSL. y variables USL. Entonces el conjunto de datos "CL y especificaciones" ya no se usa.
Names Default to Here( 1 );
dt2 = Data Table( "CL and Spec" );
// get unique values from the strength column
levels = Associative Array( dt2:product ) << Get Keys;
// construct a window containing checkboxes
continue = 0;
New Window( "Selection",
<<MODAL></MODAL>
Luego, la segunda parte del código es cargar el conjunto de datos "Conjunto de datos", abrir un cuadro de texto y crear subconjuntos de filas del conjunto de datos "Conjunto de datos".
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;
);Sin embargo, los segundos datos no se cargan o no hay subconjuntos de las filas...
¡Muchas gracias por su ayuda!