...
这个时候使用【生成日期表】就能解决问题,最终效果如下:
示例数据下载:业务表.xls
具体操作步骤:
1)新建数据模型,并在模型中新增“生成日期表”:1、新建数据模型,并在模型中新增“生成日期表”:
- 目标数据源:支持存储"日期表"的数据库类型:高速缓存库,mysql、clickhouse、mssql、oracle、monetdb,默认高速缓存库的数据库类型:高速缓存库,mysql、clickhouse、mssql、oracle、monetdb,默认高速缓存库;
- 表名:存放在数据库中的表名,请填写简体英文名称 ;表名具有唯一性,无法填写重复的表名,如果已存在则会进行提示;
- 开始时间、结束时间:目前跨度最大是100年;比如【开始时间】选择了1990-01-01年,【结束时间】选择了2091-12-31,会提示:请选择100年内的日期31,会提示:请选择100年内的日期;
- 日期字段名:默认C_Date; 如果需要建多张“日期表” ,建议修改一下日期字段名,以方便区分;
- 创建时间字段:用于当前“日期表”中创建的时间格式字段:
1(1)年:输出主键字段”日期“和时间字段”年“;
2(2)年季:输出主键字段”日期“和时间字段”年季“、”季“。创建时间字段;
3 (3)年月:输出主键字段”日期“和时间字段”年月“、”月“;
4 (4)年周:输出主键字段”日期“和时间字段”年周“、”周“;
5(5)年月日:输出主键字段”日期“和时间字段”年月日“;
- 自定义字段名:即保存在数据库表中的字段名称,默认都是英文,如输入中文,需要看保存的数据库是否支持
(1)"年"默认字段名:C_YEARYEAR;
(2)”年季“默认字段名:C_YEAR_QUARTERQUARTER;
(3)”季“默认字段名:C_QUARTERQUARTER;
(4)”年月“默认字段名:C_YEAR_MONTHMONTH;
(5)”月“默认字段名:C_MONTHMONTH;
(6)”年周“默认字段名:C_YEAR_WEEKWEEK;
(7)”周“默认字段名:C_WEEKWEEK;
(8)”年月日“字段名:C_YEAR_MONTH_DAYDAY;
2)点击【确定】会回到模型,并且可以在模型中预览到生成的数据以及字段等2、点击 确定 会回到模型,并且可以在模型中预览到生成的数据以及字段等: 设置“日期表”与“业务表”的关系,可参考关系设置,同时也可以构建模型。
3)根据“日期表”下的日期字段创建时间层次结构, 命名“日期表_时间维度”,如下图所示:
...
4)保存并且抽取(示例是存放再MPP)成功,去建交互式仪表盘,用“业务表”的日期字段做“月累”,不显示原本没有原始记录的数据;而用【日期表】的日期字段则可以正常显示。,用“业务表”的日期字段做“月累”,可以看到不显示原本没有原始记录的数据;而用【日期表】的日期字段则可以正常显示。
2.2 示例2
例如,业务用户要为销售团队开发报表,需要开发按年和月划分的合同金额、回款金额;
...