txnelson's approach is clearly a more streamlined and elegant approach. I'm attaching the following script just to show how you can manually manipulate columns, etc.
dt=Open("C:\Program Files\SAS\JMP\12\Samples\Data\Semiconductor Capability.jmp");
summ = dt << Summary(
Min( :NPN1 ),
Min( :PNP1 ),
Min( :PNP2 ),
Min( :NPN2 ),
Min( :PNP3 ),
Min( :IVP1 ),
Min( :PNP4 ),
Min( :NPN3 ),
Max( :NPN1 ),
Max( :PNP1 ),
Max( :PNP2 ),
Max( :NPN2 ),
Max( :PNP3 ),
Max( :IVP1 ),
Max( :PNP4 ),
Max( :NPN3 ),
Mean( :NPN1 ),
Mean( :PNP1 ),
Mean( :PNP2 ),
Mean( :NPN2 ),
Mean( :PNP3 ),
Mean( :IVP1 ),
Mean( :PNP4 ),
Mean( :NPN3 ),
Freq( "None" ),
Weight( "None" )
);
stack = summ <<
Stack(
columns(
:Name( "Min(NPN1)" ),
:Name( "Min(PNP1)" ),
:Name( "Min(PNP2)" ),
:Name( "Min(NPN2)" ),
:Name( "Min(PNP3)" ),
:Name( "Min(IVP1)" ),
:Name( "Min(PNP4)" ),
:Name( "Min(NPN3)" ),
:Name( "Max(NPN1)" ),
:Name( "Max(PNP1)" ),
:Name( "Max(PNP2)" ),
:Name( "Max(NPN2)" ),
:Name( "Max(PNP3)" ),
:Name( "Max(IVP1)" ),
:Name( "Max(PNP4)" ),
:Name( "Max(NPN3)" ),
:Name( "Mean(NPN1)" ),
:Name( "Mean(PNP1)" ),
:Name( "Mean(PNP2)" ),
:Name( "Mean(NPN2)" ),
:Name( "Mean(PNP3)" ),
:Name( "Mean(IVP1)" ),
:Name( "Mean(PNP4)" ),
:Name( "Mean(NPN3)" )
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Number of Series( 3 ),
Output Table Name ("Stacked Data"),
Contiguous
);
stack<<Delete Column(:N Rows);
stack<<New Column("Parameter", character, formula(Word(2, :Label, "()")));
stack << Move Selected Columns({“Parameter”}, To First);
Column("Parameter")<<Delete Formula;
stack<<Delete Column(:Label);
stack << Delete Column(:Label 2);
stack << Delete Column(:Label 3);
Column("Data") << Set Name("Min");
Column("Data 2") << Set Name("Max");
Column("Data 3") << Set Name("Mean");
Close(dt, NoSave);
Close(summ, NoSave);