...
- 日期表的日期是独立完整的,没有缺失,这对日期维度的分析来说很重要。
- 业务表里的日期只有业务发生时才会有记录,否则就缺失日期表除了自带的日期列,可以衍生出其他日期相关列,诸如年、月、日、季、周等,一年365行数据。业务表就不同了,一个公司有N个部门,一个部门有N个员工,假如每个员工每天产生一条业务数据,那一年要多少行?如果想按季统计销量,按月统计采购、按周统计销量、就必须同时扩充这三张表里的日期列——毫无效率,凭添隐患
2 示例说明
2.1 示例1
例如,假设你正在开发业务报表, 数据库中包含"业务表":有单独的日期列
- 诉求:需要统计销量、月累;
- 问题:由于原始记录有些日期没有数据,导致统计月累也会没有数据。
这个时候使用【生成日期表】,就能解决,最终效果如下:这个时候使用【生成日期表】就能解决问题,最终效果如下:
示例数据下载:业务表.xls
具体操作步骤如下:
- 目标数据源:支持存储"日期表"的数据库类型:高速缓存库,mysql、clickhouse、mssql、oracle、monetdb,默认高速缓存库
- 表名: 存放在数据库中的表名,具有唯一性,无法填写重复的表名,如果已存在则会进行提示;
- 开始时间、结束时间:目前跨度最大是100年;比如【开始时间】选择了1990-01-01年,【结束时间】选择了2091-12-31,会提示:请选择100年内的日期
- 日期字段名:默认C_Date; 如果需要建多张“日期表” ,建议修改一下日期字段名,以方便区分;
- 创建时间字段:用于当前“日期表”中创建的时间格式字段:
...
保存并且抽取(示例是存放再MPP)成功,去建仪表盘,用“业务表”的日期字段做“月累”,会不显示原本没有原始记录的数据;而用【日期表】的日期字段则可以正常显示。
信息 |
---|
【日期表】支持抽取、直连模式;【日期表】支持抽取、直连模式,详情可查阅:直连&抽取 如果存放在MPP中,那只支持抽取模式; 如果存放在其他库:mysql、clickhouse、mssql、oracle、monetdb, 并且模型没有跨库支持直连。 |
...
2.2 示例2
例如,业务用户要为销售团队开发报表,需要开发按年和月划分的合同金额、回款金额;
...