Ssas 事实表中的外键

Ssas 事实表中的外键,ssas,olap,cube,olap-cube,dimensional-modeling,Ssas,Olap,Cube,Olap Cube,Dimensional Modeling,将所有数据合并到事实表中是否更常见,例如: -- MOVIE_SALE -- Year Studio Studio_CEO Studio_Location Studio_... Movie_Name Movie_Copyright Movie_PrimaryLanguage Amount -- MOVIE_SALE -- Year Studio_ID Movie_ID Amount 或者,对包含信息组的其他表(例如: -- MOVIE_SALE -- Year Studio Studi

将所有数据合并到事实表中是否更常见,例如:

-- MOVIE_SALE -- 
Year
Studio
Studio_CEO
Studio_Location
Studio_...
Movie_Name
Movie_Copyright
Movie_PrimaryLanguage
Amount
-- MOVIE_SALE -- 
Year
Studio_ID
Movie_ID
Amount
或者,对包含信息组的其他表(例如:

-- MOVIE_SALE -- 
Year
Studio
Studio_CEO
Studio_Location
Studio_...
Movie_Name
Movie_Copyright
Movie_PrimaryLanguage
Amount
-- MOVIE_SALE -- 
Year
Studio_ID
Movie_ID
Amount

为什么一种方式比另一种方式更受欢迎?

最好将数据建模为星型模式

在您的案例中,事实表是MovieSales。您的维度是日期、工作室和电影

通常情况下,事实表中会有更多数据,因此您不希望重复每行的元数据。

假设(根据您添加到问题中的标记)您询问的是Kimball维度建模,您给出的第一个示例不是有效的事实表,第二个示例是。因此,毫无疑问,第一个例子不是要考虑的候选者,因此哪一个可能更可取

更新1

对于你提出的为什么这不是一个有效的事实表(我希望这不会让人觉得它是绝对不应该的)的问题,你需要读一本关于维度建模的书。鉴于你的问题是关于维度建模的一些非常基本的概念,解释维度建模如何工作对于本论坛来说是一个太大的话题

简而言之,事实表在大多数情况下只能包含两种类型的列:

  • 维度的外键
  • 措施
  • 为了完整起见,它可能包含的其他两种类型的列包括:

  • 审核列—您选择添加以跟踪记录活动的任何内容
  • 退化维度:单个属性没有通常在维度中保持在一起的任何其他相关属性

  • 希望这能有所帮助?

    您能解释一下为什么第一个不是有效的事实表吗?