Ich würde dies mit SQL tun. Dieses Beispiel sollte eine Vorstellung davon geben, was Sie tun können. Sie müssen jedoch einige Werte bereinigen.
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)
);

Fügen Sie Listagg/Concatenate/GROUP_CONCAT zur Übersichtsplattform für eine Wunschliste hinzu, was dies sehr einfach machen sollte
Bearbeiten:
Casting scheint eine ziemlich einfache Möglichkeit zu sein, die Dezimalstellen loszuwerden
Mehr anzeigen...
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);