我们聚焦于DWD(数据明细层)的维度建模,继续用“开餐馆”的比喻,把这一步彻底讲透。
DWD层的核心任务就是:将ODS“收货区”里杂乱无章的原始数据,清洗、加工成标准化的、规范的“食材”和“半成品”(即事实表和维度表),为后续的高效分析打下坚实基础。
这个过程就像是把买来的整猪整羊,分解成标准大小的里脊肉、五花肉块、排骨段。
第一步:识别业务过程 & 声明粒度
这是维度建模的基石,是所有工作的出发点。
-
识别业务过程 (Identify the Business Process):
- 问自己:我要分析的业务活动是什么?
- 餐馆例子:
下单、支付、烹饪、配送都是独立的业务过程。 - 经典电商例子:
下单、支付、退款、商品浏览、点击。 - 输出:你决定了要为 “下单” 这个业务过程建模。
-
声明粒度 (Declare the Grain):
- 问自己:一条记录代表什么?是最细的级别是什么?
- 这是最关键的一步! 粒度决定了事实表的深度和丰富度。
- 错误示例:“每天的销售总额”(这太粗了,是DWS层的活)。
- 正确示例:“用户的一个订单中的一个商品”。
- 如果一个订单买了手机、耳机、保护壳三样东西,那么事实表里就应该有3条记录来分别描述它们。
- 输出:你明确了粒度是 “订单商品粒度”。
第二步:选择维度
维度 (Dimensions) 为事实提供上下文,回答“谁、什么时间、什么地点、为什么”等问题。
- 问自己:有哪些角度可以用来描述和分析这个业务过程?
- 基于“下单”业务过程和“订单商品”粒度,我们思考:
- 时间 (When):下单的具体时间点。(
时间维度表) - 什么商品 (What):被订购的是什么商品。(
商品维度表) - 谁买的 (Who):是哪个用户下的单。(
用户维度表) - 从哪买的 (Wh
- 时间 (When):下单的具体时间点。(

最低0.47元/天 解锁文章
1378

被折叠的 条评论
为什么被折叠?



