如何在不重建事实表的情况下向事实表添加新维度?



我是数据仓库的新手,所以如果这是超级基本的,我很抱歉,但我对这个概念很好奇。

示例:假设我有一个表,用于存储网站的汇总分析(例如,给定日期的url的总浏览量)。

dbo。PageFacts

<表类> 日期 Url_Id Page_Views tbody><<tr>2020-01-0112802020-01-012502020-01-02310

如果更改了事实表的粒度,通常需要重建事实表。这是对维度模型的一个相当重要的设计更改,我看不出为了避免重建事实表而使模式复杂化有什么好处。

如果您愿意,您可以将其作为附加的事实表引入,但它不会有"percentages"只是一个普通的事实表:

CREATE TABLE PageDeviceFacts 
(
Date DATE references DimDate,
Url_Id INT references DimUrl,
Device_ID INT references DimDevice,
Page_Views INT,
constraint pk_PageDeviceFacts
primary key (Date,Url_Id,Device_ID)
);

如果是一个大表,将PK设置为非集群,并创建一个集群的columnstore索引

create clustered columnstore index cci_PageDeviceFacts on PageDeviceFacts

旧的PageFacts表成为模型中的聚合事实。

相关内容

  • 没有找到相关文章

最新更新