Power BI切片器实现表与商品选择的折线图配置求助
解决Power BI双切片器(表选择+商品选择)的方案
步骤1:重构数据表结构
你的Table A和Table B都是宽表格式(日期+多商品列),这种结构无法直接满足跨表+跨商品的切片需求,先将它们转换为长表:
- 处理Table A:选中Date列,右键选择「逆透视其他列」,生成「属性」(对应Article A/B/C)和「值」(对应价格)两列;新增「表来源」列,固定赋值为
Table A - 处理Table B:重复上述逆透视操作,新增「表来源」列并赋值为
Table B - 用「追加查询」功能将两个处理后的表合并为一个新表,命名为
CombinedPrices
步骤2:创建切片器专用辅助表
需要创建两个独立的辅助表来驱动切片器,避免原表筛选冲突:
- 表选择辅助表:
进入「建模」选项卡,点击「新建表」,输入DAX公式:TableSelector = DATATABLE("表名称", STRING, {{"Table A"}, {"Table B"}}) - 商品选择辅助表:
同样新建表,输入DAX公式:ArticleSelector = DATATABLE("商品名称", STRING, {{"Article A"}, {"Article B"}, {"Article C"}})
步骤3:建立关系并编写度量值
- 在「模型」视图中,建立
TableSelector[表名称]与CombinedPrices[表来源]的单向关系,ArticleSelector[商品名称]与CombinedPrices[属性]的单向关系 - 新建度量值计算筛选后的价格(若每日价格为单值,用MAX替代SUM也可):
筛选后价格 = CALCULATE(SUM(CombinedPrices[值]), TREATAS(VALUES(TableSelector[表名称]), CombinedPrices[表来源]), TREATAS(VALUES(ArticleSelector[商品名称]), CombinedPrices[属性]) )
步骤4:配置可视化组件
- 将
TableSelector[表名称]拖入切片器作为Slicer 1,ArticleSelector[商品名称]拖入另一切片器作为Slicer 2 - 折线图X轴选用
CombinedPrices[Date],Y轴选用「筛选后价格」度量值
这样就能实现通过两个切片器分别选择表和商品,折线图自动展示对应数据。
内容的提问来源于stack exchange,提问作者Hannes Z
相关产品推荐
相关产品推荐

