Ciao a tutti,
Sto cercando di creare un sottogruppo di tabelle dati per un grafico di controllo utilizzando una funzione del pulsante sottoinsieme. Ho trovato questo collegamento Creare un sottoinsieme da un grafico interattivo? a qualcosa di simile ma è per le righe. Vorrei invece utilizzare le colonne. Ho più colonne e sto utilizzando il commutatore di colonne con i grafici di controllo. Vorrei poter selezionare punti dati specifici sul grafico di controllo e ottenere solo i dati per quei punti in quella colonna specifica.
Di seguito è riportato il JSL che ho provato a utilizzare e ho provato a modificare le colonne e ho fallito.
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 );
Questo mi darà tutte le colonne che contengono dati nelle righe. Vorrei solo la singola colonna di dati quando seleziono quei punti dati specifici.
Grazie per l'aiuto,
-Ryan
Hai fatto la maggior parte del lavoro. Ecco un modo per finirlo:
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);