How about this:
MERGE table2 T
USING (SELECT id,region,subregion,value1,value2,value3,MAX(Date1) AS Max_Date
FROM table1
GROUP BY id,region,subregion,value1,value2,value3)S
ON T.id=S.id AND T.region=S.region AND T.subregion=S.subregion AND T.value1=S.value1 AND T.value2=S.value2 AND T.value2=S.value2
WHEN MATCHED THEN
UPDATE SET T.Date1=S.Max_Date
WHEN NOT MATCHED BY TARGET
THEN INSERT (id,region,subregion,Date1,value1,value2,value3)
VALUES (S.id,S.region,S.subregion,S.Max_Date,S.value1,S.value2,S.value3);