Hi Lambo,
So, as I understand it, you want to have a separate table for each position, and you want to transfer the data in each row of the ALL table to the table for the position.
Not a difficult process, but it will require adding an index column for each position to the ALL table.
Each Table may be on a separate Sheet, if desired, but it is the Table, not the Sheet that will contain the data. Numbers Sheets are, simply put, the blank canvas onto which are placed the Tables, Charts, Graphic object, Text boxes etc. that make up the Spreadsheet document.
Here's a sample, using the data from your 'ALL' table, edited to reduce the typing necessary to produce the table, and with the 'ALL' table renamed "Main" to shorten the display of the formulas. Four of the five 'Position' tables are shown. The fifth is missing only to reduce the space needed for the image.

Columns H-L have been added to provide indices for each of the positions. These columns may be hidden.
The indices are created using the formula below, entered into H4, then filled down to the end of the table, and filled right to column L.
H4: IF($C=H$3,MAX(H$3:H3)+1,"")
The column reference $C remains constant as the formula is filled right; the references to column H adjust to match the column containing each iteration of the formula.
Each of the Position tables contains a single formula, entered in A4, then filled down and filled right to the ends of the columns and rows of that table. The formulas for each table differ only in the two references to the column containing the index values for that position.
PG::A4: IF(ROW()−3>MAX(Main::$H),"",INDEX(Main::$A:$G,MATCH(ROW()−3,Main::$H,0),COLUMN( )))
SG::A4: IF(ROW()−3>MAX(Main::$I),"",INDEX(Main::$A:$G,MATCH(ROW()−3,Main::$I,0),COLUMN( )))
SF::A4: IF(ROW()−3>MAX(Main::$J),"",INDEX(Main::$A:$G,MATCH(ROW()−3,Main::$J,0),COLUMN( )))
PF::A4: IF(ROW()−3>MAX(Main::$K),"",INDEX(Main::$A:$G,MATCH(ROW()−3,Main::$K,0),COLUMN( )))
C::A4: IF(ROW()−3>MAX(Main::$L),"",INDEX(Main::$A:$G,MATCH(ROW()−3,Main::$L,0),COLUMN( )))
The IF part of the formula; IF(ROW()−3>MAX(Main::$z),"",formula)
tests to find if all index values for this position have already been transferred. If TRUE, the formula places a null string ( "" ) in the cell; if FALSE, the formula returns the data from the indexed row.
For details on INDEX, MATCH, ROW() and COLUMN(), see the articles in the Function Browser. To open the browser, click any cell in a table, then press =.
Regards,
Barry