在Ralph Kimball 的The Data Warehouse Toolkit的第 2 章 Retail Sales中,作者描述了一个包含三个字段的日期维度,这对我来说似乎完全陌生:
Date Key (PK)
Date
Full Date Description
Day of Week
**Day Number in Epoch**
**Week Number in Epoch**
**Month Number in Epoch**
Day Number in Calendar Month
Day Number in Calendar Year
...
我知道纪元是“选择作为特定时代的时间实例”,J2000.0 的当前标准纪元从 2000 年 1 月 1 日开始。但我看不出这些数字对日期维度有何帮助或用于获取有关零售销售信息的多维数据集。
- Epoch 中的数字通常用于日期维度吗?
- 什么时代将用于现代业务?
- 用户将如何基于 Epoch 对数据进行切片,为什么?
Epoch 也是日期或时间的同义词。偶尔在数据库模型中用作无处不在的“时间戳”的替代列名,两者本质上是可以互换的。
编辑:以全新的眼光审视您的清单(并且没有从藏在柜子里的书里拿出书)我预计在这种情况下的时代将是一个时期,例如财政季度。例如,如果一个季度从 4 月 1 日到 6 月 30 日,则 5 月 1 日的“纪元中的天数”将为 32。
月份和季度的绝对数字允许它们在查询工具中使用时正确排序。“一年中的月份”值仅对在一年内进行排序有用,但按顺序排列的绝对月份值将跨年正确地对月份列表进行排序。这对于支持(例如)滚动 12 个月期间的报告非常有帮助。
周、月或季度的键(年本身是有序的,在年中就足够了)也允许将月中的日期等属性键控到逻辑键。尽管维度表本身可能是平面的,但许多工具(例如 OLAP 服务器)仍会在数据中强加逻辑层次结构,并且需要在其级别上唯一的键来执行此操作。