【工作杂谈_20260817】多维分析与数据建模: 维度上卷:从明细粒度到汇总层级 文章目录1. 什么是“维度上卷”2. ETL 中上卷的核心是“改变事实粒度”3. ETL 中上卷的完整流程3.1 数据质量检查3.2 加载维表地域维表 DimGeography日期维表 DimDate产品表 DimProduct3.3 生成明细事实表3.4 预聚合上卷上卷一Date → Month上卷二City → Province上卷三Province → Country3.5 一致性校验我的网站原文 https://eleanora-lyh.github.io/MyLearningNotes/csdn处的文章会尽快同步更新欢迎大家来访问1. 什么是“维度上卷”维度上卷 Roll-up 本质上是维度建模和 OLAP 中的分析概念ETL 中的维度上卷是通过数据转换和聚合将细粒度事实数据加工为更高层级、更粗粒度的汇总数据。Roll-up 是分析语义ETL 是实现手段聚合表、汇总事实表是落地结果所谓上卷就是从更细维度层级聚合成更高维度层例如时间维度日 → 月 → 季度 → 年地域维度城市 → 省份 → 国家产品维度SKU → SubCategory → Category例如原始数据是DateCityProvinceCountryProductRevenue2026-08-01City1Province1Country1A1002026-08-02City3Province2Country1A1502026-08-01City2Province1Country1A80经过时间和地域上卷C1/C2都属于P1MonthProvinceProductRevenue2026-08Province1A1802026-08Province12A150这里发生了两个变化Date → MonthCity → Province同时Revenue SUM(100 150 80) 3302. ETL 中上卷的核心是“改变事实粒度”上卷不能只理解为GROUP BY。它真正改变的是事实表中一行数据所代表的业务范围。例如状态一行含义粒度上卷前某一天 某城市 某SKU 的销售情况Date City SKU上卷后某个月 某省份 某产品类别的销售情况Month Province Category事实表中的维度键决定事实数据的粒度。事实可以存储在更高粒度但高粒度事实通常无法再准确拆分回更细粒度即 日级 → 月级 通常是可完成的但 月级 → 日级 如果没有保留日级明细无法准确恢复。3. ETL 中上卷的完整流程原始数据Step1: 数据质量检查检查 City → Province 是否唯一检查 Province → Country 是否唯一识别缺失、错误和历史变更Step2: 加载维表DimDateDimGeographyDimProductStep3: 生成明细事实表FactRevenueDailyStep4: 预聚合上卷FactRevenueMonthlyCityFactRevenueMonthlyProvinceFactRevenueMonthlyCountryStep5: 一致性校验各级 Revenue 总和均应为 3303.1 数据质量检查检查 City → ProvinceCityProvince是否唯一City1Province1是City2Province1是City3Province2是当前数据中每个 City 只属于一个 Province因此层级关系正常。检查 Province → CountryProvinceCountry是否唯一Province1Country1是Province2Country1是最终可以建立稳定的地理层级City1Province1City2City3Province2Country13.2 加载维表不建议在事实表里重复保存 City、Province、Country 名称。所以按照星型模型可以拆分事实数据与维度数据地域维表DimGeography日期维表DimDate产品表DimProduct地域维表 DimGeographyGeographyKeyCityProvinceCountry101City1Province1Country1102City3Province2Country2103City2Province1Country1日期维表 DimDateDateKeyDateMonthQuarterYear202608012026-08-012026-082026-Q32026202608022026-08-022026-082026-Q32026产品表 DimProductProductKeyProduct201A如果存在产品类别还可以设计为Product → ProductCategory → ProductLine3.3 生成明细事实表明细事实表FactRevenueDailyDateKeyGeographyKeyProductKeyRevenue20260801101201100202608021032011502026080110220180粒度仍然是Date GeographyKey ProductCity、Province、Country 名称不需要重复保存在事实表中而是通过GeographyKey关联DimGeography3.4 预聚合上卷上卷一Date → Month目标粒度Month City Product生成FactRevenueMonthlyCityMonthCityProductRevenue2026-08City1A1002026-08City2A802026-08City3A150这里只提升了时间层级Date → MonthCity 维度仍保留在原层级上卷二City → Province目标粒度Month Province Product生成FactRevenueMonthlyProvinceMonthProvinceProductRevenue2026-08Province1A1802026-08Province2A150计算过程Province1 City1 100 City2 80 180 Province2 City3 150这里同时发生Date → MonthCity → Province上卷三Province → Country目标粒度Month Country Product生成FactRevenueMonthlyCountryMonthCountryProductRevenue2026-08Country1A330计算过程Country1 Province1 180 Province2 150 330完整上卷路径为Date → MonthCity → Province → Country3.5 一致性校验层级Revenue 总和原始明细数据330Monthly City330Monthly Province330Monthly Country330因此满足明细层 Revenue 城市层 Revenue 省份层 Revenue 国家层 Revenue 330最终的数据流可以概括为明细事实:Date City Product月度城市汇总:Month City Product月度省份汇总:Month Province Product月度国家汇总:Month Country Product这就是 ETL 中维度上卷的核心维度层级向上提升事实粒度变粗同时按照目标粒度重新聚合度量值。

相关新闻

最新新闻

从网易2017春招笔试编程题看校招算法面试的五大关键能力

从网易2017春招笔试编程题看校招算法面试的五大关键能力

拿到这份网易2017春招笔试编程题,我看到的不是题目,而是这五件事又是一年春招季,群里不少学弟学妹在问网易的笔试编程题该怎么准备。翻出当年整理的那套2017春招笔试真题,说实话,距离现在过去这么多年,具体…

2026/8/29 5:11:13
烟雾检测数据集构建与YOLOv8工业落地实战指南

烟雾检测数据集构建与YOLOv8工业落地实战指南

简介:烟雾检测是目标检测中极具挑战性的任务,其核心难点在于目标形态多变、背景干扰强、尺度差异大,导致通用数据集和模型难以直接投产。理解烟雾作为弱纹理、低对比度、动态演化目标的本质特性,是设计鲁棒数据采集策略与适配模型…

2026/8/29 5:11:13
单片机毕业设计-基于 STM32 的多传感器户外遇险预警定位设备开发 基于 STM32 的跌倒检测与水坑障碍物综合安防装置设计(013505)

单片机毕业设计-基于 STM32 的多传感器户外遇险预警定位设备开发 基于 STM32 的跌倒检测与水坑障碍物综合安防装置设计(013505)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/29 5:11:13
蓝桥杯国赛“扩散”题解:从暴力模拟到曼哈顿距离判定的算法思维跃迁

蓝桥杯国赛“扩散”题解:从暴力模拟到曼哈顿距离判定的算法思维跃迁

1. 项目概述:从一道国赛真题看算法思维的深度与广度“扩散”这个词,在算法竞赛的语境下,往往意味着一种模拟过程,它考察的远不止是简单的循环和数组操作。第十一届蓝桥杯国赛C语言组B类B题,以“扩散”为名,…

2026/8/29 5:11:13
FPGA线性序列机驱动TLC5620 DAC:从时序分析到信号发生器实战

FPGA线性序列机驱动TLC5620 DAC:从时序分析到信号发生器实战

1. 项目缘起:从“点灯”到“发声”的FPGA进阶之路很多FPGA初学者在点亮第一个LED后,都会面临一个共同的困惑:下一步该学什么?是去啃复杂的通信协议,还是研究算法实现?我的建议是,不妨找一个能“…

2026/8/29 5:11:13
【工作杂谈_20260817】多维分析与数据建模: 维度上卷:从明细粒度到汇总层级

【工作杂谈_20260817】多维分析与数据建模: 维度上卷:从明细粒度到汇总层级

文章目录1. 什么是“维度上卷”2. ETL 中上卷的核心是“改变事实粒度”3. ETL 中上卷的完整流程3.1 数据质量检查3.2 加载维表地域维表 DimGeography日期维表 DimDate产品表 DimProduct3.3 生成明细事实表3.4 预聚合上卷上卷一:Date → Month上卷二:City…

2026/8/29 5:06:13