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

如何创建不影响层级条形图的Power BI列名切片器

问题描述

我有如下数据表格:

QuarterMonthStatusDebitDigitalInternalIVTRisk
Q1Jan'22Plan579233960
Q1Jan'22Actuals469233960
Q1Feb'22Plan587236865
Q1Feb'22Actuals507237865
Q1Mar'22Plan712830222
Q1Mar'22Actuals442829222

我要基于这些数据创建层级条形图,同时需要做一个基于列名(Digital、Debit等)的切片器/下拉筛选器,要求这个筛选器能控制条形图展示的数值列,但目前我创建了如下度量值后,选择切片器选项条形图没变化:

Parameter = {
    ("Digital", NAMEOF('Power BI Fact Table'[Digital]), 0),
    ("Debit", NAMEOF('Power BI Fact Table'[Debit]), 1),
    ("Internal", NAMEOF('Power BI Fact Table'[Internal]), 2),
    ("IVT", NAMEOF('Power BI Fact Table'[IVT]), 3),
    ("Risk", NAMEOF('Power BI Fact Table'[Risk]), 4)
}

请问该怎么实现需求?

解决方案

你目前只创建了参数表的定义,但没有把参数选择和条形图的数值展示关联起来,需要补充以下步骤:

  1. 将参数转为独立表
    把你写的Parameter代码改成新建表(而非度量值),生成一个独立的筛选表。创建完成后,给表的列重命名,比如第一列叫显示名称,第二列叫列名,第三列叫排序ID,方便后续操作。

  2. 创建动态度量值关联参数选择
    新建一个度量值,根据参数表的选中项,返回对应数据列的数值:

    动态数值 = 
    VAR SelectedColumn = SELECTEDVALUE('Parameter'[列名])
    RETURN
        SWITCH(
            SelectedColumn,
            NAMEOF('Power BI Fact Table'[Digital]), SUM('Power BI Fact Table'[Digital]),
            NAMEOF('Power BI Fact Table'[Debit]), SUM('Power BI Fact Table'[Debit]),
            NAMEOF('Power BI Fact Table'[Internal]), SUM('Power BI Fact Table'[Internal]),
            NAMEOF('Power BI Fact Table'[IVT]), SUM('Power BI Fact Table'[IVT]),
            NAMEOF('Power BI Fact Table'[Risk]), SUM('Power BI Fact Table'[Risk]),
            BLANK()
        )
    

    注:如果你的数据不需要求和(比如单条记录的数值),可以把SUM换成MAX,或者直接引用列(但建议用聚合函数避免上下文计算问题)。

  3. 配置切片器和条形图

    • 把参数表的显示名称字段拖到切片器控件中,作为筛选选项。
    • 层级条形图的值区域,替换为刚创建的动态数值度量值;类别轴保持原有的层级结构(比如Quarter > Month > Status)。
  4. 可选:优化参数排序
    给参数表的显示名称列设置排序依据为排序ID,这样切片器里的选项会按你定义的顺序排列,更符合使用习惯。

完成以上操作后,选择切片器里的不同列名,条形图就会自动切换展示对应列的数值了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:15:31