
Algo como esto sería bueno, el punto principal sería que el gráfico específico aparezca cuando hago clic/marco/busco en él.
Después de investigar un poco, un conmutador de columnas parece una buena idea, al igual que un filtro de datos local.
Después de jugar con el selector de columnas, me di cuenta de que esto es básicamente lo que quiero. Me pregunto si el selector de columnas tiene una función de búsqueda como la de la imagen que compartí en mi comentario anterior (la función de búsqueda que pone "Ingresar nombre de columna"):

Si es posible hacer con este filtro de datos, también sería bueno.
El conmutador de columnas tiene capacidades de búsqueda

Generalmente, si puedes hacerlo con el conmutador de columnas pero no con el filtro de datos, tendrás que apilar tus datos para obtener un formato que los filtros puedan usar.
¿Alguna idea de cómo codificar esto en JMP JSL? Actualmente estoy luchando por agregar esto a mi sección de código.
Esto es para un gráfico de variabilidad.
TCB512 = outlinebox("Attribute Monitoring",
For ( i=1, i<=N items(col_list), i++,
//print(kpps[i]);
::Var = /*TCB809*/
Variability Chart(
Y( Column (myspfcsv, col_list[i]) ),
X( :Name("col_1"),
:Name("col_2"),
:Name("col3"),
:Name("col4"),
:Name("col5"),
:Name("col6"),
:Name("column")
),
Analysis Type( Name( "Choose best analysis (EMS REML Bayesian)" ) ),
SendToReport(
Dispatch( {}, "Variability Chart",FrameBox,Row Legend(:Name("col2"),Marker( 0 ),Marker Theme( "Shape" ))),
Dispatch( {}, "Variability Chart",FrameBox,Row Legend(:Name("col3"),Marker( 1 ),Marker Theme( "Shape" ))),
Dispatch( {}, "2", ScaleBox, {Show Major Grid( 0 ), Show Minor Grid( 0 ) }),
Dispatch( {}, "Variability Chart", FrameBox, {Frame Size( 1400, 250 ), Background Color( -16777215 ), Marker Size( 5 )} ),
)
);
Y esto es para un gráfico bivariado.
New Window("Time Trend Chart for Attribute (Filters)",
// Add a data filter
df = dt << Data Filter(
Mode(Show(1)),
Add Filter(
Columns(
:Name("col_1"),
:Name("col_2"),
:Name("col_3")
),
:Name("col_1") == col1_values &
:Name("col_2") == col2_values &
:Name("col_3") == col3_values
)
);
For(i = 1, i <= N Items(kpps), i++,
::Var = Bivariate(
Y(Column(dt, kpps[i])),
X(:Name("processtimestamp")),
Analysis Type(Name("Choose best analysis (EMS REML Bayesian)"))
);
// Get the report object
rbiv = ::Var << Report;
// Find the FrameBox
framebox = rbiv[FrameBox(1)];
// Modify the FrameBox
framebox << Row Legend(:Name("col_1"), Marker(1), Marker Theme("Shape"));
framebox << Row Legend(:Name("col_2"), Marker(0), Marker Theme("Shape"));
framebox << Frame Size(1400, 250);
framebox << Background Color(-16777215);
framebox << Marker Size(5);Solo necesito una idea general de cómo abordar esto/agregarlo.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
var = dt << Variability Chart(
Y(:NPN1),
X(:wafer, :SITE),
Always use column properties(1),
Column Switcher(
:NPN1,
{:NPN1, :PNP1, :PNP2, :NPN2, :PNP3, :IVP1, :PNP4, :NPN3, :IVP2, :NPN4, :SIT1,
:INM1, :INM2, :VPM1, :VPM2, :VPM3, :PMS1, :SNM1, :SPM1, :NPN5, :EP2, :ZD6,
:PBA, :PLG, :CAP, :PBA3, :PLG2, :PNP5, :NPN6, :PNP6, :PNP7, :NPN7, :PNP8,
:IVP3, :IVP4, :IVP5, :IVP6, :PNP9, :NPN8, :NPN9, :IVP7, :NPN10, :N_1, :PBA1,
:WPR1, :B10, :PLY10, :VBE210, :VTN210, :VTP210, :SIT2, :SIT3, :INV2, :INV3,
:INV4, :INV5, :FST1, :FST2, :RES1, :RES2, :PNM1, :PPM1, :FNM1, :FPM1, :FST3,
:FST4, :RES3, :RES4, :A1, :B1, :A2N, :A2P, :A2P1, :IVP8, :IVP9, :DE_H1,
:NF_H1, :ESM1, :ESM2, :ESP1, :YFU1, :VPM4, :PBA2, :PBB1, :LYA1, :LYB1, :DEM1,
:DEP1, :NFM1, :PLY1, :VDP1, :VDP2, :SNW1, :RSP2, :PLY2, :RSP1, :VDP3, :PBL1,
:PLG1, :VDP4, :SPW1, :VIA1, :INM3, :VPM5, :VPM6, :INM4, :VPM7, :M1_M1,
:M2_M2, :P1_P1, :E2A1, :E2B1, :NPN11, :IVP10, :PNP10, :INM5, :VPM8, :VPM9,
:INM6, :VPM10, :N2A1, :N2B1, :NM_L1, :P2A1, :P2B1, :PM_L1, :P1, :M1}
)
);