Power BI中如何将DimDate表关联事实与维度表满足多日期分析需求
现有模型合理性判断
你的当前Power BI模型框架是合理的,属于多业务日期场景下的标准星型模型设计:用单一Dim Date通用日期维度对接所有业务日期字段,提前将非默认的日期关联设为非激活状态,避免了多日期维度表带来的模型冗余和筛选冲突,不需要调整表结构,只需要补充度量值逻辑即可实现需求。
具体调整实现步骤
第一步:确认关联关系配置
提前检查所有关联配置符合以下要求,不需要修改激活状态:
- 激活状态关联:
- Dim Date[日期] 与 Fact表[submitted date] 一对多关联
- Dim student[studentid] 与 Fact表[studentid] 一对多关联
- Dim project[projectid] 与 Fact表[projectid] 一对多关联
- 非激活状态关联:
- Dim Date[日期] 与 Dim student[joining date] 一对多关联
- Dim Date[日期] 与 Dim project[project creation date] 一对多关联
第二步:创建对应度量值
用DAX函数USERELATIONSHIP临时调用非激活关联,即可在不修改模型关联的前提下,实现同一个Dim Date筛选器作用于不同业务日期的统计:
- 按学生入学日期统计得分:
总得分(按入学日期) = CALCULATE(SUM(Fact[marks]), USERELATIONSHIP('Dim Date'[日期], 'Dim student'[joining date]))
- 按项目创建日期统计得分:
总得分(按项目创建日期) = CALCULATE(SUM(Fact[marks]), USERELATIONSHIP('Dim Date'[日期], 'Dim project'[project creation date]))
- 按提交日期统计得分(默认关联已激活,可直接写):
总得分(按提交日期) = SUM(Fact[marks])
第三步:仪表板配置
- 将Dim Date表的年月字段作为公共切片器放到仪表板公共区域
- 三类分析模块分别绑定对应创建的三个度量值即可,公共年月筛选器会同时作用于三个统计逻辑,结果互不干扰
额外说明:如果需要在同一张表格里同时展示三类统计结果,直接把三个度量值添加到表格的「值」区域即可,同一行的年月筛选条件下会自动返回对应维度的统计结果。
内容的提问来源于stack exchange,提问作者Michell
相关产品推荐
相关产品推荐

