Yes you need aliases, your dimension is playing two roles (ship_to, bill_to). You have to create aliases and individual objects so that the users can easily grab them in their query.
Go through this sticky to understand more about ALIAS vs CONTEXT:
https://bobj-board.org/t/84142
BO_Chief (BOB member since 2004-06-06)