Power BI中关联表非关联列并排展示矩阵的实现方法
Power BI实现按State关联展示X/Y Event存在状态的矩阵方案
前置说明
先修正示例数据的笔误:Table Y中的列名应为Y Event(原示例写为X Event,与问题描述不符)。同时确保你的数据模型已正确建立关联:**特殊表(City-State映射表)**作为维度表,分别关联Table X的State字段、Table Y的City字段(通过映射表的City-State关系间接关联到State)。
步骤1:创建状态分类度量值
在Power BI中新建三个DAX度量值,分别计算每个State下三种场景的事件数量:
度量值1:仅X Event存在
仅X Event存在 = VAR X事件数 = COUNTROWS('Table X') VAR Y事件数 = COUNTROWS('Table Y') RETURN IF(X事件数 > 0 && Y事件数 = 0, X事件数, BLANK())
度量值2:仅Y Event存在
仅Y Event存在 = VAR X事件数 = COUNTROWS('Table X') VAR Y事件数 = COUNTROWS('Table Y') RETURN IF(X事件数 = 0 && Y事件数 > 0, Y事件数, BLANK())
度量值3:X/Y Event共存
X/Y Event共存 = VAR X事件数 = COUNTROWS('Table X') VAR Y事件数 = COUNTROWS('Table Y') RETURN IF(X事件数 > 0 && Y事件数 > 0, X事件数 + Y事件数, BLANK())
步骤2:构建矩阵可视化
- 新建矩阵可视化组件
- 行区域:拖入维度表中的
State字段(确保用维度表的State,而非事实表的) - 值区域:依次拖入刚才创建的三个度量值
- (可选)调整矩阵样式:开启“总计”、设置列标题格式,让状态分类更清晰
替代方案:用状态维度表实现更灵活的列展示
如果需要将状态作为列维度(而非独立度量值),可按以下操作:
- 新建一个手动输入的表
事件状态表,包含三行数据:仅X存在、仅Y存在、两者共存 - 新建一个通用度量值:
事件数量 = VAR 当前状态 = SELECTEDVALUE('事件状态表'[状态]) VAR X事件数 = COUNTROWS('Table X') VAR Y事件数 = COUNTROWS('Table Y') RETURN SWITCH( 当前状态, "仅X存在", IF(X事件数>0 && Y事件数=0, X事件数, BLANK()), "仅Y存在", IF(X事件数=0 && Y事件数>0, Y事件数, BLANK()), "两者共存", IF(X事件数>0 && Y事件数>0, X事件数+Y事件数, BLANK()), BLANK() )
- 矩阵设置:
- 行:维度表
State - 列:
事件状态表[状态] - 值:
事件数量度量值
- 行:维度表
这样就能实现按State分组,横向展示三种状态下的事件数量,完全满足你要的关联并排效果。
内容的提问来源于stack exchange,提问作者HawaiianShirts
相关产品推荐
相关产品推荐

