首页/数据/数仓建模速查/财务日历维度:财年与自然年并存
维度与事实设计149 条

财务日历维度:财年与自然年并存

日历维同时维护自然年与财年属性(财年、财季、财期、财周),支撑财务口径与业务口径并行分析。

数仓建模速查数据更新于 2026-10-13

为什么需要财务日历

业务按自然年分析,财务按财年出具报表,两者的起始月不同。日历维要同时维护自然年属性(年、月、周)与财年属性(财年、财季、财期、财周),这样同一份事实既能按业务口径也能按财务口径聚合,不必维护两张日历表。

基本信息

自然属性自然年、自然月、自然周、自然季度
财务属性财年、财季、财期、财周
关键参数财年起始月可配置,常见为 4 月制
日期键用整数 YYYYMMDD,便于范围比较与排序
覆盖范围至少覆盖历史最早数据到未来三年

典型使用场景

  • 财务月报:按财期汇总收入与成本,与财务系统对齐
  • 业务周报:按自然周统计活跃与销售
  • 同环比计算:用日历维取去年同期与上一期日期
  • 假期与工作日分析:节假日属性支撑业务波动解释
  • 跨年对比:按财年与自然年两种口径分别看趋势

日历维建表

日历维建表
-- 日历维:自然属性与财务属性并存
CREATE TABLE dim_date (
  date_key      int  COMMENT '日期键 YYYYMMDD',
  cal_date      date COMMENT '自然日期',
  cal_year      int  COMMENT '自然年',
  cal_month     int  COMMENT '自然月',
  cal_week      int  COMMENT '自然周',
  fiscal_year   int  COMMENT '财年',
  fiscal_period int  COMMENT '财期 1-12',
  is_workday    int  COMMENT '是否工作日'
) STORED AS ORC;

属性与取值

属性示例取值说明
自然年与月2026、10业务分析常用
财年2026 或 2027起始月不同,跨自然年
财期1 到 12财务月报的口径基础
财周1 到 52周粒度财务分析
财年起始月要按公司配置:4 月制的公司里,2026 财年可能从 2025 年 4 月开始;海外实体口径不同时通过字段区分,不要改表结构。
日期键用字符串会退化范围比较与排序:整数形式的键既保留可读性,也能直接做区间过滤与排序,边界日期不易漏掉。
日历维要作为独立表发布并固定生成规则:临时用日期函数推算自然周与财期,在跨年与调休年份极易算错,且错误会扩散到所有下游报表。

易错点

  • 财年起始月硬编码:多实体或海外主体口径错,按月汇总全错位
  • 日期键用字符串:范围比较与排序退化,容易漏掉边界日期
  • 日历维覆盖范围不足:补数或做未来预测时找不到对应日期行
  • 财务与自然属性只维护一套:财务月报要另建映射表,长期维护成本高
  • 工作日属性不维护:节假日波动只能人工解释,无法自动化处理

数据来源与参考

  • Kimball Group:日期维度设计
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌