• If possible, I would suggest creating 2 new dimension tables.

    Using the Fact table as a dimension source would mean your using a DISTINCT or GROUP BY query for the dimension definition. This means that every time you want to process your dimension, the SSAS processing will have run that query against your fact table. Depending on how large your fact table gets, it can have some serious performance issues, especially if you try to parallel process both dimensions.

    Another risk of doing your dimensions this way is how to setup up the key columns of your dimension. If two records are entered into the fact with the same StoreID but with different StoreNames, the dimension processing could break if you set the StoreID as the only key column.

    Breaking out separate dimension tables will allow you to reduce the overall size of your fact table and allows you to build a more intelligent SSAS processing mechanism where you would only have to process the dimensions when there is an INSERT/UPDATE to the dimension data.