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

如何用Power BI原生功能创建带层级任务的类甘特图:着色与空节点处理

基于Power BI原生功能+DAX实现类甘特图的解决方案

一、任务条按任务状态着色

  1. 处理任务表重复数据
    由于FClick中同一任务ID对应多行(多标签),先创建去重计算表确保每个任务唯一关联状态:

    任务主表去重 = SUMMARIZE(
        FClick,
        FClick[id],
        FClick[name],
        FClick[date_created],
        FClick[due_date],
        FClick[status_name]
    )
    

    建立该表与DimTarefa的关系(通过ID字段)。

  2. 用原生条形图模拟甘特图并着色
    使用堆积条形图实现甘特效果:

    • 轴:拖入DimTarefa的层级任务名称(如Tarefa_N1至Tarefa_N4),设置为层次结构展示任务层级。
    • 值:将任务主表去重[date_created]设为起始值,任务主表去重[due_date]设为结束值(在字段值的下拉菜单中选择对应选项)。
    • 颜色:将任务主表去重[status_name]拖入「颜色」字段,任务条会自动按状态着色。

二、隐藏中间空节点

方法1:在数据模型层过滤

修改DimTarefa的DAX表达式,直接过滤掉空节点:

DimTarefa = 
VAR 原始层级表 = -- 替换为你原有的构建任务层级的DAX代码
    PATHITEM(...) -- 示例原有逻辑
RETURN
FILTER(
    原始层级表,
    -- 过滤掉ID为空或各层级任务名称为空的行
    NOT(ISBLANK([ID])) &&
    NOT(ISBLANK([Tarefa_N1])) &&
    NOT(ISBLANK([Tarefa_N2])) &&
    NOT(ISBLANK([Tarefa_N3])) &&
    NOT(ISBLANK([Tarefa_N4]))
)

方法2:在可视化层过滤

在条形图的「筛选器」面板添加以下筛选条件:

  • 对每个层级字段(Tarefa_N1至Tarefa_N4),设置「不包含空白」。
  • 添加筛选条件:RELATED('任务主表去重'[id]) <> BLANK(),确保仅显示有实际任务关联的节点。

若使用层次结构展开,可在可视化「格式」面板的「层次结构」设置中,取消勾选「显示空行」选项(若存在)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:21:09