SQL을 활용하여 이를 수행할 것입니다. 이 예는 무엇을 할 수 있는지에 대한 아이디어를 제공해야 하지만 값에 대한 정리를 해야 합니다.
Names Default To Here(1);
dt_main = Open("$DOWNLOADS/maintable(1).jmp");
dt_ref = Open("$DOWNLOADS/referencetable(1).jmp");
dt_concat = Query(
Table(dt_main, "t1"),
"\[SELECT type, "X Coord", "Y Coord", "Wafer ID", GROUP_CONCAT(Value, ', ') as Value
FROM t1
group by type, "X Coord", "Y Coord", "Wafer ID"
]\"
);
dt_split = dt_concat << Split(
Split By(:Type),
Split(:Value),
Group(:X Coord, :Y Coord, :Wafer ID)
);
dt_ref << Update(
With(dt_split),
Match Columns(:X Coord = :X Coord, :Y Coord = :Y Coord, :Wafer ID = :Wafer ID),
Add Columns from Update Table(:A, :B),
Replace Columns in Main Table(None)
);

위시리스트를 위한 요약 플랫폼에 Listagg/Concatenate/GROUP_CONCAT를 추가하면 이 작업이 매우 쉬워질 것입니다.
편집하다:
캐스팅은 소수점을 제거하는 매우 간단한 방법인 것 같습니다.
더 보기...
Names Default To Here(1);
dt_main = Open("$DOWNLOADS/maintable(1).jmp");
dt_ref = Open("$DOWNLOADS/referencetable(1).jmp");
dt_concat = Query(
Table(dt_main, "t1"),
"\[SELECT type, "X Coord", "Y Coord", "Wafer ID", GROUP_CONCAT(CAST(Value as int), ', ') as Value
FROM t1
group by type, "X Coord", "Y Coord", "Wafer ID"
]\"
);
dt_split = dt_concat << Split(
Split By(:Type),
Split(:Value),
Group(:X Coord, :Y Coord, :Wafer ID)
);
Close(dt_concat, no save);
dt_ref << Update(
With(dt_split),
Match Columns(:X Coord = :X Coord, :Y Coord = :Y Coord, :Wafer ID = :Wafer ID),
Add Columns from Update Table(:A, :B),
Replace Columns in Main Table(None)
);
Close(dt_split, no save);