2016-02-16 2 views
0

Nous créons un magasin de données à partir de la source de données qui nous est fournie. J'ai créé les tables suivantes dans le magasin de données. Donc, si je veux faire une analyse, la population et le lieu de réunion ont une granularité différente. Je veux faire une analyse par année et par mois. Est-il possible de combiner les deux tables de faits dans une ou une suggestion?Comment résoudre s'il y a deux granularités différentes dans le data mart?

+0

Je ne peux pas imaginer pourquoi la granularité différente est un problème, ou comment la granularité est différente en premier lieu. –

+0

La chose est que je veux créer une seule table de faits au lieu de deux table de faits. Je veux donc combiner Factpopulation et FactMettingCount dans une table et faire une analyse. – Justin

+0

Pourquoi voudriez-vous faire cela? Cela me semble être une mauvaise conception, à moins qu'il y ait une raison pour laquelle cette question n'est pas claire à ce jour. –

Répondre

0

Une fois que les données sont roulées jusqu'à une certaine granularité, le moyen le plus simple d'aller plus loin que le grain de grain FactMeeting serait de regarder en arrière à la source et produire un autre rollup au grain que vous voulez. Envisagez de créer une table FactMeetingByCounty qui est roulée de sorte que la métrique de compte soit par comté. Ensuite, produisez les données combinées que vous recherchez en tant que table unique. L'alternative peut être de produire la table que vous êtes après avoir utilisé cette "nouvelle logique de grain" et la logique utilisée dans la création du fait FactPopulation.

Beaucoup d'options ici.

0

Qu'est-ce que FactPopulation? Du nom, je suppose qu'il représente la population d'un endroit au fil du temps.

Cet endroit est-il le même que DimGeography? Si c'est le cas, faites de la population un attribut de cette dimension et faites-en une dimension qui change lentement de type 2 pour tenir compte du changement de population au fil du temps.

EDIT APRÈS UN COMMENTAIRE 1:

Il serait utile s'il y avait des données par exemple, ou plusieurs noms de colonnes complets dans les faits et les dimensions que vous avez suggéré, mais mon interprétation est qu'un modèle comme celui-ci permettrait de résoudre votre problème:

dim_event (id,name,...) 
dim_geography (id,country,city,...,population,from_date,to_date) 
dim_date (id,cal_date,cal_year,cal_month,...) 
fact_meeting (event_id,geography_id,date_id,...,attendee_count) 

Connaissez-vous les dimensions qui changent lentement? Une dimension de type 2 gérera le changement de population au fil du temps. Vous n'avez pas donné d'exemples de requêtes métier que vous essayez de satisfaire, mais si vous postez des questions dans les questions, je mettrai à jour cette réponse avec un peu de SQL pour vous montrer comment ils sont satisfaits par ce modèle. Pouvez-vous donner un exemple des résultats souhaités et des données source qui en font un problème?

+0

Factpopulation est le nombre de la population dans différentes villes par année. Où FactMeeting compte des bases sur tous les jours et je veux les combiner à l'analyse par mois et par an. – Justin