在另一个事实表中使用退化维度

Posted

技术标签:

【中文标题】在另一个事实表中使用退化维度【英文标题】:Usage of degenerate dimension in another fact table 【发布时间】:2019-11-28 18:37:03 【问题描述】:

如何?

【问题讨论】:

【参考方案1】:

根据定义,退化维度是属性与度量一起保存在事实表中而不是维度表中的维度。

例如,如果您的事实表用于零售,那么收据编号将保存在事实表中,否则您将创建一个基数与事实表相当的维度。

所以,我在理解您的问题时遇到了一些问题。如何将退化的暗淡保存在不同的事实(原文如此)表上?你会如何加入两者?如果你有一键加入,那它就不是退化维度。

如果您的意思是“我可以通过退化维度属性连接两个事实表吗”,答案可能不是。连接很可能是多对多的,它会涉及连接两个巨大的表,这将非常昂贵。

【讨论】:

例如:我购买了一个商品。收据 ID 是来自销售事实表的退化维度。如果我想退回项目,我想使用该 ID 将项目连接到传递事实表。我可以这样做吗? 不过,我会避免将这两个表连接在一起。我认为最好将两个条目放在同一个表中,一个具有正数量和总价,另一个具有交换符号。

以上是关于在另一个事实表中使用退化维度的主要内容,如果未能解决你的问题,请参考以下文章

基于链接到维度表之一的事实表中的键添加新维度

事实表与维度表

为啥事实表中的维度成员集通常用作复合键?

如何在维度表中查找未使用的行

SSAS:我的维度表可以包含事实表中没有的键吗?

使用触发器链接到数据仓库中事实表中的时间维度是个好主意吗?