Hola, todos,
Estoy tratando de crear un subgrupo de tabla de datos para un gráfico de control usando una función de botón de subconjunto. Encontré este enlace ¿Crear un subconjunto a partir de un gráfico interactivo?a algo similar pero es para filas. Me gustaría usar las columnas en su lugar. Tengo varias columnas y estoy usando el conmutador de columnas con los gráficos de control. Me gustaría poder seleccionar puntos de datos específicos en el gráfico de control y solo obtener los datos de esos puntos en esa columna específica.
A continuación se muestra el JSL que intenté usar e intenté modificar las columnas y fallé.
dt5= Data Table( "SPC Columns" );
colNamesList = dt5 << get Column names (string, Continuous);
gb= dt5 << Control Chart Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables( Y( eval(colNamesList[1]) ) ),
Chart(
Position( 1 ),
Limits( Shade Zones( 1 ) ),
Warnings(
Test 1( 1 ),
Test 2( 1 ),
Test 3( 1 ),
Test 4( 1 ),
Test 5( 1 ),
Test 6( 1 ),
Test 7( 1 ),
Test 8( 1 )
)),
Column Switcher(colNamesList[1], Eval( colNamesList ))
);
subsetButton = Button Box( "Click to Create a Subset of Selected Points",
If( N Rows( dt5 << get selected rows ) > 0,
dt5 << subset( selected rows( 1 ), selected columns( 0 ) )
)
);
Report( gb )["Graph Builder"] << append( subsetButton );
Esto me dará todas las columnas que tienen datos en las filas. Me gustaría la única columna de datos cuando seleccione esos puntos de datos específicos.
Gracias por tu ayuda,
-Ryan
Has hecho la mayor parte del trabajo. Aquí hay una forma de terminarlo:
NamesDefaultToHere(1);
// Data table with some continuous columns
dt = Open("$SAMPLE_DATA/Big Class.jmp" );
colNamesList = dt << get Column names (string, Continuous);
// Control chart
gb = dt << Control Chart Builder(Show Control Panel( 0 ), Variables( Y( eval(colNamesList[1]) ) ));
// Add a column switcher
cs = gb << Column Switcher(colNamesList[1], Eval( colNamesList ));
// 'Extra' button with subset action
subsetButton = Button Box("Click to Create a Subset of Selected Points",
If( N Rows( dt << get selected rows ) > 0,
currentCol = cs << getCurrent;
dt2 = dt << subset( selected rows( 1 ), Columns(Eval(Column(dt, currentCol))));
dt2 << setName("Subset of "||(dt << getName)||" using "||currentCol);
,
Beep();
);
);
// Add this button to the control chart report (use 'topParent' so that this is not affected by any column switcher changes)
(Report(gb)[OutlineBox("Control Chart Builder")] << topParent) << append(subsetButton);