Much of what you want to do is just built into JMP. Here is one example, that just opens the Tabulate Platform and using it's built in functionality, provides row selection/unselection coupled with statistical calculations
I developed this running JMP interactively, and then just specified to JMP, to provide me with a script to be able to run it as needed.
names default to here(1);
dt=open("$sample_data/semiconductor capability.jmp");
Tabulate(
Add Table(
Column Table( Statistics( N, Mean, Std Dev, Min, Max ) ),
Row Table( Analysis Columns( :PNP1, :PNP2, :NPN2, :PNP3, :IVP1 ) )
),
Local Data Filter(
Add Filter(
columns( :lot_id, :wafer, :SITE ),
Display( :lot_id, N Items( 13 ) ),
Display( :wafer, N Items( 15 ) ),
Display( :SITE, N Items( 5 ) )
)
)
);
I suggest you take the time to read the Discovering JMP documentation under the Help pull down menu as a good start towards education of JMP
It's also very simple to throw the platforms you are interested in, into a Dashboard, which basically creates an application that you can used like your proposed Addin. I suggest that you find the platforms that provide you with the output tables and graphics you want, and then you move them into a Dashboard.
Jim