Power BI学生与企业培训数据集建模合理性及结构判定咨询
问题1:该场景下更规范的数据模型搭建方案
你当前的预处理步骤逻辑没问题,最适合该场景的是Power BI官方推荐的星型模型,具体搭建逻辑如下:
- 保留三张表追加合并后的Master表作为事实表,存储所有学员参与培训项目的全量事务记录,保留需要用于关联的外键(学员姓名/培训机构/项目名称等)以及后续要做统计的指标字段即可,不需要删除
- 从Master表中提取去重值生成三张维度表,不需要通过复制整张Master表的方式生成:
- Student维度表:存储唯一学员信息,包含学员ID、姓名、所属公司、学员等级等学员属性
- Provider维度表:存储唯一培训机构信息,包含机构ID、机构名称等机构属性
- Program维度表:存储唯一项目信息,包含项目ID、项目名称、所属领域、课程名称等项目属性
- 建立关系:事实表分别和三张维度表用对应唯一ID建立「一对多」单向筛选关系,维度表作为筛选端,事实表作为被筛选端
这个结构的DAX计算逻辑最清晰,仪表盘查询性能也最高,后续新增数据时可以自动同步维度表内容,不需要手动维护。
问题2:当前模型的表类型判定
首先明确基础定义:
事实表:存储业务过程的事件/事务记录,包含大量重复的关联外键,通常带可聚合的数值指标
维度表:存储分析维度的唯一实体属性,所有记录对应唯一实体,无重复
按这个定义,你当前最终模型里的Provider、Student、Program三张表全是维度表:
- Provider表存储的是每个培训机构的唯一属性,属于维度表,不是事实表
- 你当前的模型缺少专门存储培训参与记录的事实表,你之前合并得到的Master表才是符合要求的事实表载体
内容的提问来源于stack exchange,提问作者Azul
相关产品推荐
相关产品推荐

