• Okay, let me approach this from a different angle, and maybe I can think this out.

    The sale would always be associated with a given customer and the salesperson at the time of the sale. So one option would be to store the SalespersonID in the Sale fact. I could create a new record for each customer when that customer is assigned to a new territory, and keep the original key in the Customer dimension.

    I guess it's time to read up more on SCDs...