You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Slicer切换表格行的分类维度?

动态切换分类列展示数据的DAX实现方案

问题背景

已加载名为mainModel的数据模型,包含Parent Company、Sub-Companies、Values、State等列。需求是通过切片器选择Parent Company或Sub-Companies,让表格展示对应分类字段与Values列的数据。目前已创建切片器数据源表TableSelector,并添加了度量值Selected Cat Slicer,但不知道如何基于选中值生成目标表格。

已完成的前置配置

切片器数据源表:

TableSelector = DATATABLE(
    "Top-Level Category", STRING,
    {
        {"Parent Company"},
        {"Sub-Companies"}
    }
)

解决方案

1. 优化选中值度量值

原度量值返回表结构,调整为返回单个选中的文本值,便于后续逻辑判断:

Selected Cat Slicer = 
VAR _selected = SELECTEDVALUE(TableSelector[Top-Level Category])
RETURN
_selected

2. 创建动态计算表

使用SWITCH函数根据选中的分类字段,动态生成包含对应分类列和Values列的表格:

SlicedTable = 
VAR _selectedCat = [Selected Cat Slicer]
RETURN
SWITCH(
    _selectedCat,
    "Parent Company", SELECTCOLUMNS(mainModel, "Category", mainModel[Parent Company], "Values", mainModel[Values]),
    "Sub-Companies", SELECTCOLUMNS(mainModel, "Category", mainModel[Sub-Companies], "Values", mainModel[Values]),
    -- 未选中时返回空表(可根据需求调整)
    DATATABLE("Category", STRING, "Values", INTEGER, {})
)

3. 配置可视化展示

  • 将新建的SlicedTable拖入表格可视化组件作为数据源
  • 将TableSelector中的Top-Level Category字段拖入切片器
  • 选择切片器选项后,表格会自动切换展示对应分类与Values的数据

扩展说明

  • 若需保留State等其他列,可在SELECTCOLUMNS中添加对应列,示例:
    SELECTCOLUMNS(mainModel, "Category", mainModel[Parent Company], "Values", mainModel[Values], "State", mainModel[State])
    
  • 若需支持切片器多选,可调整逻辑遍历选中值,但此类场景通常单选更符合业务需求

内容的提问来源于stack exchange,提问作者BruceWayne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 20:33:10