Search code examples
sql-serversql-server-2012ssasolap-cube

SSAS - How to create a geographical dimension?


I'm working on a SQL Server Analysis Services multidimensionnal cube. I want to create a geaographical dimension to allow user to explore the data regarding to a specific country, region, department, city, store.

Country > Region > Department > City > Store > Sale

So I created a new dimension by selecting the Sale table including all cascading dependencies. Then, I dragged items'name to create a hierachy as the screen capture bellow explains.

enter image description here

This is the diagram of all relationships between attributes. enter image description here

Finally, after processing I can browse the dimension. However, there is something that scaring me, I can't browse stores, there are only country, region, department and city nodes. So how to configure to display stores ?

enter image description here

Is there a way to display only branches containing stores because it's not relevant to display 36 000 cities for only 80 stores.

As you can seen, there are three warnings :

Avertissement   10  AttributeRelationship [DimStore].[Sale].[Id_] : Le nom spécifié pour la relation d'attribut diffère du nom de l'attribut associé.       0   0   
Avertissement   11  AttributeRelationship [DimStore].[Store].[Name_] : Le nom spécifié pour la relation d'attribut diffère du nom de l'attribut associé.        0   0   
Avertissement   12  Dimension [DimStore] : Éviter les hiérarchies d'attributs visibles pour les attributs utilisés comme niveaux dans les hiérarchies définies par l'utilisateur.       0   0   

Any idea to solve that ?


Solution

  • I would flatten all those tables into one using a SQL view or ETL into a Dimension table. Then I would add that to the Data Source View, then painfully repoint each attribute at that. This gives you the opportunity to shape the data to suit SSAS.

    I would also return the Attribute Relationships to their original state - all related directly to the Key attribute. There is little benefit in arranging them hierarchically and it relies on the input data being perfectly structured now and into the future.