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

无法将TotalWeeksPerIssue度量拖至X轴,如何用度量实现可视化?

问题描述

我创建了如下度量,想要用于条形图的X轴可视化,但无法实现:

TotalWeeksPerIssue = SUMX(
    VALUES('Query2'[name]),
    SUM('Query2'[weeks_in_work])
)

我的需求是:先计算每个任务(name)的总工作周数,再统计各总周数的出现次数。示例数据如下:

nameweeks_in_workstatus
Issue11in work
Issue12stopped
Issue23in work
Issue23in work
Issue34stopped
Issue35in work

预期先按name汇总总周数:

nameTotalWeeks
Issue13
Issue26
Issue39

再统计各总周数的出现次数:

  • 3:1次
  • 6:1次
  • 9:1次

我还尝试了另一个度量:

CountOfTotalWeeks = COUNTROWS(
    SUMMARIZE(
        'Query2',
        'Query2'[name],
        "TotalWeeks", SUM('Query2'[weeks_in_work])
    )
)

但依然无法将TotalWeeksPerIssue拖至X轴。另外我需要通过status列灵活筛选(有时统计所有状态,有时仅统计单个状态),因此不能创建额外的计算表。请问如何仅用度量实现该可视化?

解决方案

1. 修正总周数度量

首先简化TotalWeeksPerIssue度量,当上下文为单个name时,直接求和即可得到该任务的总周数:

TotalWeeksPerIssue = SUM('Query2'[weeks_in_work])

2. 创建按总周数统计任务数量的度量

创建以下度量,用于统计每个总周数对应的任务(name)数量:

IssueCountByTotalWeeks = 
VAR IssueTotalWeeks = 
    SUMMARIZE(
        ALLSELECTED('Query2'[name]),
        'Query2'[name],
        "@CalculatedTotal", [TotalWeeksPerIssue]
    )
RETURN
    COUNTROWS(
        FILTER(
            IssueTotalWeeks,
            [@CalculatedTotal] = [TotalWeeksPerIssue]
        )
    )
  • ALLSELECTED('Query2'[name])会保留当前筛选(比如status的筛选)下的所有任务,确保筛选生效。
  • SUMMARIZE生成每个任务及其对应的总周数列表,再通过FILTER和COUNTROWS统计当前总周数对应的任务数量。

3. 配置条形图实现可视化

由于Power BI中度量无法直接拖入X轴(X轴需要离散类别值),需按以下步骤配置:

  1. 将Query2[name]拖入条形图的X轴。
  2. 选中条形图,在右侧「视觉级别筛选器」上方点击「更多选项」→「分组」。
  3. 在分组设置中,选择「依据值分组」,分组字段选择TotalWeeksPerIssue,并设置合适的分组名称(比如“总周数分组”)。
  4. 将IssueCountByTotalWeeks度量拖入Y轴,此时Y轴会显示每个总周数对应的任务数量。
  5. 拖动Query2[status]到「页面级别筛选器」或「视觉级别筛选器」,即可灵活切换统计的状态范围。

为什么之前的尝试无效?

  • 最初的TotalWeeksPerIssue是聚合度量,返回的是全局或当前上下文的总和,无法作为离散类别值用于X轴。
  • CountOfTotalWeeks仅返回所有任务的总数,没有按总周数分组统计,因此无法满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 15:08:26