After playing around with the column switcher, I realized that this is essentially what I want. I'm wondering if the column switcher has a search function like in image I shared in my previous comment (the search function that puts "Enter Column Name"):

If it is possible to do with this data filter, it would also be good
Any idea how to code this in JMP JSL? I am currently struggling to add this into my section of code
This is for a variability chart
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 )} ),
)
);
And this is for a Bivariate Plot
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);Just need a general idea as how to approach this/add it in
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}
)
);