维度或事实表更适合这种情况吗?

问题描述 投票:0回答:1

我正在纠结我是否应该将这些数据作为事实表或维度表存在,并希望得到一些帮助。

一般而言,数据和业务流程是客户/账户持有人的计费活动(客户=账户持有人)。大多数客户按月计费。原始源数据以行 = 客户的粒度存在。因此,当客户的帐户信息更新时,他们的记录也会更新,而不是创建新行。

有很多措施让我想说我应该创建一个事实表。这些包括

bill_total
bill_amount_reamining
notice_amount
。但是由于源数据只是更新而不是创建新行,所以我对如何声明这个新事实(或者可能是暗淡的)表的粒度感到困惑。

同样重要的是,我提到我想跟踪历史,而不仅仅是最近的数据。那么在事实表上有像

effective_date
end_date
这样的字段是可以接受的吗?或者如果我想要这样的字段,我应该创建一个维度表吗?

希望提供足够的上下文,如果需要,很乐意添加更多细节。

data-modeling dimensional-modeling
1个回答
0
投票

客户的账户信息属于一个维度,如果要保留历史,那么它需要是一个SCD(渐变维度)。

bill_total、bill_amount_remaining 和 notice_amount 等措施属于事实表,具有相关维度的 FK——例如您的帐户暗淡、日期暗淡等

© www.soinside.com 2019 - 2024. All rights reserved.