You can connect both the table through collateral_id.
I haven't faced any issue just used in line load and required expression, there may be issue with the data formatting connected dimension or used dimensions in your chart.
for the age bucking you can either use front expression that i have used or in back-end you can use Class function.
i have used calculated dimensions: if(match(collateral_id,collateral_id1), bucket), match function return true when first table collateral_id values matched collateral_id1 then it will return the corresponding bucket in dimension.
if you found this helpful, please mark correct or helpful.