If you have
JOIN(dataset, other, <cond>, TRANSFORM(LEFT), KEEP(1), INNER)
Then the join is effectively being used to filter the record set. It will often be better to migrate the join up through dataset (in the same way that a filter condition is). Possibly especially if it is a lookup join [be careful if it is local!]
Good candidates would be moving over sorts and distributes - it would be worth investigating what examples occur in real world queries.