Power BI:如何制作包含两表全部产品的Segment(切片器)
切片器显示全量产品的配置方案
核心思路
问题出在当前切片器依赖关联后的表字段,默认仅展示两表共有的产品交集。要显示全量产品,需创建独立的产品维度表作为切片器数据源,再建立维度表与原表的关联。
具体步骤
1. 创建独立产品维度表
有两种实现方式:
- DAX公式创建:在数据模型中新建表,输入以下DAX表达式:
该公式会合并表A、表B的所有产品值,去重后生成包含prod1、prod2、prod3、prod4的维度表。产品维度表 = DISTINCT(UNION(VALUES('表A'[productA]), VALUES('表B'[productB]))) - Power Query创建:进入Power Query编辑器,新建空白查询,输入M语言代码:
点击「转成表」,设置列名为「产品」,重命名查询为「产品维度表」后加载到模型。= List.Distinct(List.Combine({#"表A"[productA], #"表B"[productB]}))
2. 建立表间关系
在数据模型视图中:
- 将
产品维度表[产品]与表A[productA]建立单向一对多关系(维度表为「一」端,表A为「多」端) - 将
产品维度表[产品]与表B[productB]建立单向一对多关系(维度表为「一」端,表B为「多」端) - 保持关系的交叉筛选方向为默认的「单向」即可
3. 配置切片器与图表
- 切片器的字段选择
产品维度表[产品],此时切片器会显示全部4个产品 - 图表数据源仍使用表A、表B的原有字段:
- 选择prod4时,表A对应的图表因无匹配数据会显示空值或无内容
- 表B对应的图表会正常展示prod4的相关数据
内容的提问来源于stack exchange,提问作者malak77
相关产品推荐
相关产品推荐

