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总和
- 确认Power BI中已创建度量值
sum_kpi = SUM(data[kpi]),并将其添加到Deneb的字段列表。 - 修改节点文本标记,将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
相关产品推荐
相关产品推荐

