0

我们正在从给定的数据源创建数据集市。我在数据集市中创建了以下表格。

FactPopulation (Fact table which has population data per year)
FactMeeting count (Fact table which has event info occur almost everyday 2005-)
DimMeeting Topic (Name of Meetings)
DimGeography (Place)
DimDate (Date Dimension)

所以如果我想做分析人口和会议县有不同的粒度。我想按年和按月进行分析。有没有办法将两个事实表组合成一个或任何建议?

4

2 回答 2

0

一旦数据被汇总到一定的粒度,比 FactMeeting 粒度更深入的最简单方法是回顾源并在您想要的粒度上生成另一个汇总。考虑创建一个滚动的 FactMeetingByCounty 表,因此计数指标是按县。然后将您所追求的组合数据生成为单个表。

另一种方法可能是在使用此“新粒度逻辑”和创建 FactPopulation 事实时使用的逻辑之后生成您所在的表。

这里有很多选择。

于 2016-02-16T21:54:35.107 回答
0

什么是事实人口?从名字来看,我猜它代表了一个地方随着时间的推移的人口。

那个地方和 DimGeography 一样吗?如果是这样,则将人口作为该维度的属性,并将其设为 Type-2 缓变维度,以说明人口随时间的变化。

评论 1 后编辑:

如果您建议的事实和维度中有一些示例数据或更完整的列名,这将有所帮助,但我的解释是,这样的模型可以解决您的问题:

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)

您熟悉缓慢变化的尺寸吗?类型 2 维度将处理人口随时间的变化。

您没有给出您试图满足的业务查询的示例,但是如果您在问题中发布一些示例,我将使用一些 SQL 更新此答案,以向您展示他们对此模型的满意程度。

于 2016-02-17T10:07:48.697 回答