Names default to here(1); // Input some made up sample data dt = New Table( "Sample data", Add Rows( 100 ), New Column( "Time (hr)", Numeric, "Ordinal", Format( "Best", 12 ), Set Values( [3, 1, 3, 2, 1, 1, 2, 3, 3, 3, 2, 1, 2, 1, 2, 1, 3, 3, 1, 2, 3, 3, 1, 2, 3, 3, 2, 2, 1, 1, 1, 1, 1, 2, 1, 3, 1, 2, 3, 2, 1, 1, 2, 1, 1, 3, 1, 2, 3, 1, 3, 1, 3, 2, 3, 2, 3, 1, 1, 1, 3, 3, 1, 2, 2, 2, 3, 1, 1, 2, 2, 2, 1, 1, 2, 3, 2, 3, 3, 1, 2, 2, 1, 3, 1, 2, 2, 2, 3, 1, 1, 1, 2, 2, 1, 2, 2, 3, 1, 3] ) ), New Column( "Group", Character, "Ordinal", Set Selected, Set Values( {"Group 2", "Group 3", "Group 3", "Group 2", "Group 1", "Group 2", "Group 1", "Group 2", "Group 1", "Group 2", "Group 2", "Group 3", "Group 1", "Group 1", "Group 2", "Group 1", "Group 1", "Group 1", "Group 1", "Group 2", "Group 2", "Group 2", "Group 1", "Group 3", "Group 3", "Group 3", "Group 2", "Group 1", "Group 3", "Group 2", "Group 2", "Group 1", "Group 3", "Group 2", "Group 2", "Group 3", "Group 3", "Group 2", "Group 2", "Group 2", "Group 2", "Group 1", "Group 2", "Group 3", "Group 3", "Group 1", "Group 2", "Group 1", "Group 2", "Group 2", "Group 1", "Group 1", "Group 1", "Group 3", "Group 3", "Group 3", "Group 2", "Group 2", "Group 3", "Group 1", "Group 3", "Group 3", "Group 3", "Group 1", "Group 3", "Group 2", "Group 3", "Group 1", "Group 2", "Group 1", "Group 3", "Group 1", "Group 1", "Group 2", "Group 3", "Group 3", "Group 3", "Group 2", "Group 1", "Group 1", "Group 3", "Group 2", "Group 3", "Group 3", "Group 1", "Group 1", "Group 3", "Group 2", "Group 3", "Group 2", "Group 2", "Group 3", "Group 1", "Group 3", "Group 3", "Group 2", "Group 1", "Group 1", "Group 2", "Group 2"} ) ), New Column( "Data", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [90.8042159848271, 90.164660240893, 94.032530787154, 88.1523984598624, 95.4732826211581, 108.968950990484, 92.0411940777186, 107.865792218736, 103.102161946709, 82.8985209677983, 96.3267755637039, 91.0665185621762, 116.913724608677, 113.605112635838, 103.917668087474, 114.972493566199, 101.522308563927, 93.0805343608485, 113.814616498342, 108.74306911162, 102.020994644653, 113.555802592267, 103.465354269416, 90.2085505312997, 110.674898639827, 95.1571494856106, 105.340188954477, 109.926161646989, 118.44707990797, 116.803383648834, 103.707630601628, 96.6388162042207, 116.792686097543, 101.875800836572, 120.353820457962, 99.1081509452193, 115.906322696556, 101.912913675976, 101.931515927337, 95.7623517305892, 97.0695391748392, 101.032146196111, 100.718890158073, 126.12114480016, 99.1441913952907, 109.625671451577, 107.250132275103, 104.48290257865, 83.0354757332018, 110.696935105609, 89.642805095998, 109.513331318406, 96.8936839617933, 70.681875933583, 117.563534060691, 90.9978972745609, 107.482065494105, 116.001453932602, 94.6514199902421, 99.3434492151424, 102.904914217834, 88.6151544387709, 99.7238572905395, 94.0640323932018, 106.533342109218, 92.9863886192426, 91.3203502728814, 93.8807717288643, 102.445816828448, 102.525255337499, 106.312120142404, 102.544892228513, 96.8445484475097, 109.427879843643, 112.301873108547, 94.1077205851248, 100.12943753576, 110.230607469795, 99.4029058623149, 102.787044596169, 96.6299683101283, 87.3611436191866, 88.8810467657728, 102.038544917696, 108.281430914049, 101.762321339958, 95.0587305838339, 97.648822346422, 113.329608306058, 116.211103029143, 94.9266354022769, 91.077037536936, 96.2552812280928, 98.378683211648, 98.4129705531996, 94.1804910751066, 99.7228888697, 93.0641978015939, 98.8810468108345, 102.226426031063] ) ) ); // This JSL is the same thing as going to the pull down menus and selecting Tables__>Summary // It just creates a new JMP table that contains data summarized in this case, for each hour, // and subgrouped across eacch Group. // Both the Mean and Standard Deviation is created for the Column called "Data" dtsumm = dt << Summary( Group( :Name( "Time (hr)" ) ), Mean( :Data ), Std Dev( :Data ), Subgroup( :Group ), Freq( "None" ), Weight( "None" ), statistics column name format( "column stat" ), Link to original data table( 0 ) ); // The following 3 lines of code is the same as going to the new summary table, and adding 3 new columns, called Group 1, Group 2 and Group 3 // For each column a format is set which concatenates the value of the mean, from the mean column, a string " ± " with // The standard deviation dtsumm << New Column("Group 1", character, formula(format(:Name("Data Mean, Group 1"),"Fixed Dec",3)||" ± "||format(:Name("Data Std Dev, Group 1"),"Fixed Dec",3))); dtsumm << New Column("Group 2", character, formula(format(:Name("Data Mean, Group 2"),"Fixed Dec",3)||" ± "||format(:Name("Data Std Dev, Group 2"),"Fixed Dec",3))); dtsumm << New Column("Group 3", character, formula(format(:Name("Data Mean, Group 3"),"Fixed Dec",3)||" ± "||format(:Name("Data Std Dev, Group 3"),"Fixed Dec",3))); // This step is the only step that would have to be done in JSL. There is no equalvalent interactive way to create // this exact table format. // What this code does, is to create a display window( New Window), the create a subgrouping display area using // and Outline Box, and then to place within that outline box, a display table (Table Box), which contains the 4 columns to display // with each of the columns, getting their values from the data columns in the summary data table. New Window("2nd Table box example", Outline Box("Group by Hr Statistics", tb = Table Box( Number Col Box("Time (hr)",dtsumm:Name("Time (hr)")<