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

Power BI Deneb组织树图表优化:添加KPI求和与非空节点过滤

Deneb组织树图修改方案:显示KPI总和+过滤空值节点

一、过滤KPI为空的子节点

在Deneb的可视化配置中,通过transform步骤添加过滤逻辑,仅保留KPI值非空的节点:

"transform": [
  ..., // 保留原有transform步骤
  {
    "filter": "datum.kpi !== null && datum.kpi !== ''"
  }
]

若需要保留自身无KPI但存在有效子节点的父节点,需添加递归检查的自定义变换:

{
  "calculate": "hasValidChildren(datum)",
  "as": "hasValidChildren"
},
{
  "filter": "datum.kpi !== null || datum.hasValidChildren"
}

(注:需提前定义hasValidChildren自定义函数,递归验证子节点是否存在有效项)

二、在节点展示KPI总和

  1. 确认Power BI中已创建度量值 sum_kpi = SUM(data[kpi]),并将其添加到Deneb的字段列表。
  2. 修改节点文本标记,将KPI总和显示在子节点数量上方:
"marks": [
  // 新增KPI总和文本层
  {
    "type": "text",
    "encode": {
      "enter": {
        "text": {
          "signal": "'KPI总和: ' + format(datum.sum_kpi, ',')"
        },
        "y": {
          "signal": "datum.y - 20" // 调整位置到节点名称/子节点数上方
        },
        "fontSize": 12,
        "fill": "#333"
      }
    }
  },
  ..., // 保留原有节点名称、子节点数的文本标记
]

也可直接在原有节点文本中拼接显示:

"text": {
  "signal": "'KPI总和: ' + format(datum.sum_kpi, ',') + '\\n' + datum.name + ' (' + datum.children.length + ')'"
}

关键注意点

  • 确保sum_kpi度量值已正确关联到树状结构的每一层级数据,Power BI数据模型需支持层级求和。
  • 若树结构通过Deneb的stratify变换生成,需验证sum_kpi字段已被正确映射到节点数据中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 16:27:08