Power BI矩阵中按不同日期整合多个度量值的实现求助
解决Power BI多日期度量值矩阵展示问题
步骤1:创建独立日期维度表
生成一个不含业务数据的纯日期表,覆盖所有业务日期的范围,用DAX实现:
Date Dimension = CALENDAR( MINX(UNION(VALUES('Participants'[Signing date]), VALUES('Exits'[Close date])), [Date]), MAXX(UNION(VALUES('Participants'[Signing date]), VALUES('Exits'[Close date])), [Date]) )
注意:不要让这个日期表和任何业务表建立自动关系,所有关联逻辑都在度量值中实现。
步骤2:修改度量值,关联独立日期表
针对每个依赖不同日期列的度量值,通过DAX筛选逻辑,让其仅匹配自身业务日期与独立日期表的对应值:
示例1:New Participants 度量值
New Participants = CALCULATE( COUNT('Participants'[ID]), FILTER( 'Participants', 'Participants'[Signing date] IN VALUES('Date Dimension'[Date]) ) )
也可先手动建立Participants[Signing date]与Date Dimension[Date]的非活跃关系,再用以下写法:
New Participants = CALCULATE( COUNT('Participants'[ID]), USERELATIONSHIP('Participants'[Signing date], 'Date Dimension'[Date]) )
示例2:Exits 度量值
同理处理依赖Close date的度量值:
Exits = CALCULATE( COUNT('Exits'[ID]), FILTER( 'Exits', 'Exits'[Close date] IN VALUES('Date Dimension'[Date]) ) )
或用非活跃关系写法:
Exits = CALCULATE( COUNT('Exits'[ID]), USERELATIONSHIP('Exits'[Close date], 'Date Dimension'[Date]) )
步骤3:搭建目标矩阵
- 列字段选择
Date Dimension中的日期,可右键日期字段选择「分组」→「月份」实现月度展示 - 将所有修改后的度量值放入矩阵的「值」区域,调整布局为行显示度量值
- 此时矩阵会基于统一的日期列展示各度量值的对应月度数据,不会出现交叉干扰
额外提示
若需直接按月度聚合,可在度量值中加入月度逻辑,例如:
New Participants (Monthly) = CALCULATE( COUNT('Participants'[ID]), DATESMTD('Date Dimension'[Date]), USERELATIONSHIP('Participants'[Signing date], 'Date Dimension'[Date]) )
内容的提问来源于stack exchange,提问作者Laura_777
相关产品推荐
相关产品推荐

