维度表
背景介绍
维度表是维度建模的一个基础知识,以下是维度建模的相关概念:
- 维度建模:所谓的维度建模就是一种组织数据仓库的形式、模型,用这种方式组织搭建的数据仓库,对快速支持数据分析有着巨大的帮助。目前是比较主流的数仓模型。
- 事实表:事实表是指其中保存了大量业务度量数据的表,是数仓最核心的表。通常,最有用的事实就是数字类型的事实和可加类型的事实。系统中contact表和event表都可以在某种程度上视作事实表
- 维度表:维度表中包含事实表中记录的特性,提供描述性信息,比如一个订单中商品SKU的信息。
- 外键(FK):维度表的每行数据都应该分配一个外键,作为这行维度的唯一标识,可事实表会记录与事实相关的维度的外键,在查询的时候,会将事实表记录的外键关联到维度表的这一行,将维度表的这一行作为事实的扩展描述
当一个用户发生了order_complete(完成订单)这个事件后,系统会在event表中记录一条数据,这条数据包含了这笔订单的一些事实,如amount、discount,也包含一个外键–sku_id,见下图event表
这条event数据可以通过sku_id与维度表关联,找到维度表上sku_id=010289的这条维度描述信息,可得知这个用户在这笔订单中购买的是大桶洗洁精,外包装为红色,见下图sku维度表
使用场景
1、初期埋点计划不完善,并没有在事件上记录一些信息,而这些信息又希望可以用来作为这个事件的维度在事件分析中分组查看,比如提交订单事件并没有记录商品颜色,只是记录了sku_id,这时就可以增加一张sku维度表,将sku_id作为外键、商品颜色作为维度属性
2、希望在报表里将某些城市组合成一个新的分组(城市类型)查看,可以增加一张城市维度表,将城市编码作为外键、城市分类作为维度属性
管理维度表
1、创建维度表
创建维度表即定义维度表的表结构
创建自定义维度表 | |
Step | Action |
1 | 操作员点击新建按钮 |
2 | 系统展示新建自定义维表抽屉 |
3 | 操作员填写
|
更新维度表 | |
Step | Action |
1 | 操作员点击操作列编辑按钮 |
2 | 系统展示自定义维表抽屉 |
3 | 操作员可进行以下操作:
|
2、上传维度表数据
如何上传【维度表数据】
路径:【元数据管理】>【维度表】>点击“”>点击【上传】
上传维度表数据 | |
Step | Action |
1 | 操作员点击操作列上传按钮 |
2 | 系统展示上传文件弹框 |
3 | 操作员上传文件,点击开始 |
4 | 上传成功后,系统会依次消费文件中的数据,将数据流式更新到维度表中 |
【维度表】上传表格填写注意事项
1、首先,点击查看需要上传的【维度表】的属性字段(点击【编辑】)如下图(1)
2、然后点击“”>点击【上传】>点击【下载模板】(如下图2)
3、打开已经下载的【模板】(如下图3)
4、然后根据【步骤1】的属性ID一一填写(注:必须与【步骤1】中显示的【属性ID】一致)
——如【属性ID】显示为下图1的sku_id、price、color,那么表格中填写也必须显示一致,如下图3
——【属性ID】有多少列,表格就必须为多少列,不能增加或者减少(如上sku_id、price、color,三列,那么表格也必须是三列)(行数不受限制)
——如【步骤1】图中的【数据类型】:字符串(可填写文字、数字等)、数字(只能填写数字)、字符串(可填写文字、数字等),那么表格也必须按照要求填写
5、模版第二行不需要删除。系统会自动从第三行开始导入数据。
3、清空维度表
如果希望全量更新维度表数据或者主键设置错误时,可选择清空维度表后重新设置主键、上传数据
注意:当维度表数量过大,清空任务会持续一段时间,此时维度表中还有数据,是无法修改主键的,所以需要等一段时间清空完成后才能修改
4、删除维度表
当不再需要维度表时,可删除,会清空维度表中的数据并且将表也一并删除
使用维度表
当上传的维度表数据全部进入系统后,可在报表分析中使用维度表
在筛选条件中使用维度表 | |
Step | Action |
1 | 操作员选择事件/用户/订单属性,如果属性关联了维度表且维度表有数据,可点击属性进入关联维度表的属性列表,维度表属性列表展示维度表所有列 |
在维度中使用维度表 | |
Step | Action |
1 | 操作员选择事件/用户/订单属性,如果属性关联了维度表且维度表有数据,可点击属性进入关联维度表的属性列表,维度表属性列表展示维度表所有列 |