如果数据集市中有两种不同的粒度,如何解决?

时间:2016-02-16 15:46:01

标签: sql tsql data-warehouse datamart

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

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)

所以如果我想做分析人口和会议县有不同的粒度。我想按年和月分析。是否可以将两个事实表合并为一个或任何建议?

2 个答案:

答案 0 :(得分:0)

一旦数据汇总到一定的粒度,最简单的方法就是比FactMeeting粮食的粒度更深入,回顾源头并在你想要的谷物上产生另一个汇总。考虑创建一个FactMeetingByCounty表,该表已滚动,因此计数指标是按县计算的。然后将您所关注的组合数据生成为单个表格。

替代方案可能是在使用这个"新的谷物逻辑"之后生成你正在使用的表格。以及用于创建FactPopulation事实的逻辑。

这里有很多选择。

答案 1 :(得分:0)

什么是FactPopulation?从名字来看,我猜它代表了一个地方的人口。

那个地方和DimGeography一样吗?如果是这样,请将“群体”设为此维度的属性,并使其成为类型2缓慢变化的维度,以说明人口随时间的变化。

评论后编辑:

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

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更新此答案,以向您展示此模型对它们的满意程度。