You do not need to split your data table. You can use Process Screening. However, there are several problems you will need to fix first.
1) Your limits table uses lowercase v13_0 and the data table uses uppercase V13_0. These will need to match. It is case sensitive.
2) The column in your data table is called band1, but the same column in the limits tables is called band. They should be called the same thing.
Then you can run the following code:
Process Screening(
Y( :X__57_AVG, :X__58_AVG, :X__59_AVG ),
Grouping( :part_number, :set_id, :band1 ),
Control Chart Type( "Indiv and MR" ),
Use Limits Table(
1,
Data Table( "sample_SpecLimits" ),
Process Variables( :id_column ),
Grouping( :part_number, :set_id, :band1 ),
LSL( :LSL ),
USL( :USL ),
Go
)
)
I have a blog post on this very topic. Process specification limits that differ based on a grouping column