I used to be able to save separate limits directly in the script, but I'm not sure where that would go now as the structure of the script is somewhat different.
First welcome to the community. I'm not exactly sure what you are asking and attaching your data table helps us to provide assistance. After you have created the IMR charts, using the red triangle next to each response variable by, scroll down to save script>Options.
How are you setting/loading them? If you are using file it should look something like this
Control Chart Builder( SendToByGroup({:sex == "F"}), SendToByGroup({:sex == "M"}, Show Limit Labels(1)), Variables(Y(:height)), SendToByGroup( {:sex == "F"}, Get Limits(<path1>) ), SendToByGroup( {:sex == "M"}, Get Limits(<path2>) ), Show Control Panel(0), By(:sex) );
And if you are doing it with Set Control Limits, you will get list of control chart builders when using By (at least in JMP18), so send the messages separately
Names Default To Here(1); dt = Open("$SAMPLE_DATA/Big Class.jmp"); ccb = dt << Control Chart Builder( Variables(Y(:height)), Show Control Panel(0), By(:sex) ); ccb[1] << Chart( Position(1), Set Control Limits({LCL(40), Avg(50), UCL(90)}) ); ccb[2] << Chart( Position(1), Set Control Limits({LCL(20), Avg(30), UCL(50)}) );