星型模式中作为事实表的客户维度
Posted
技术标签:
【中文标题】星型模式中作为事实表的客户维度【英文标题】:Customer Dimension as Fact Table in Star Schema 【发布时间】:2014-06-11 18:23:19 【问题描述】:维度表也可以变成事实表吗?例如,我有一个客户维度表,其中包含名称、性别等标准属性。
我需要知道今天、上个月、去年等使用 SSAS 创建了多少客户。
我可以使用客户键和日期键创建不露面的事实表,或者我可以使用相同的客户维度表,因为它已经具有这两个键。
将客户维度表同时用作事实和维度是否正常?
谢谢
【问题讨论】:
投反对票的问题有什么问题? 【参考方案1】:是的,您也可以将维度表用作事实表。在您的情况下,您将只有一个度量值,即计数 - 假设此客户表中每个客户都有一条记录。如果您的每个客户有多个记录,例如。 G。当您使用复杂的 slowly changing dimension 逻辑时,您将使用不同的计数。
【讨论】:
【参考方案2】:根据您的示例,直接针对客户维度运行查询就足够了。无需创建另一个表来执行此操作,例如事实表。事实上,这样做是个坏主意,因为你必须每天维护它。只要您在客户表本身中有时间属性,就更简单地运行查询。从某种意义上说,您将维度用作事实,但毕竟数据就是数据,可以根据需要进行查询。
【讨论】:
我在 DIM_CUSTOMER 表中有一个created_at
(yyyy-mm-dd hh:MM:ss 格式)列。从客户维度创建与日期和时间维度的关系是更好的做法吗?这样做可能会破坏我的星型模式。以上是关于星型模式中作为事实表的客户维度的主要内容,如果未能解决你的问题,请参考以下文章