修改David Bacci的PowerBI Deneb组织架构图节点边框条件格式
修改Deneb组织架构图节点边框的条件格式化方案
要实现基于Status列的节点边框条件配色,关键是找到节点形状的定义部分,替换其边框颜色的配置——注意边框颜色用stroke属性而非color(color通常控制填充色),具体步骤如下:
1. 定位节点形状的Mark配置
在原Deneb代码的marks数组中,找到定义节点矩形的条目(通常是type: 'rect',数据源关联tree),它的encode.update里包含节点的位置、填充色、边框等样式。
2. 修改边框颜色的条件编码
将原配置中的stroke固定值替换为基于Status的条件判断,注意匹配数据中实际的Status值(Onboarded、In-processing、Leaving):
{ "type": "rect", "from": {"data": "tree"}, "encode": { "update": { "x": {"field": "x0"}, "x2": {"field": "x1"}, "y": {"field": "y0"}, "y2": {"field": "y1"}, "fill": {"field": "color", "scale": "color"}, // 保留原填充色逻辑(不需要可调整) "stroke": { "condition": [ {"test": "datum.Status === 'Onboarded'", "value": "green"}, {"test": "datum.Status === 'In-processing'", "value": "yellow"}, {"test": "datum.Status === 'Leaving'", "value": "red"} ], "value": "gray" // 未匹配到状态时的默认边框色 }, "strokeWidth": {"value": 2} // 确保边框宽度足够可见 } } }
3. 注意事项
- 确认
Status字段已正确导入Deneb数据源,字段名大小写完全匹配(Datum的属性是大小写敏感的) - 无需修改节点文本的配置,避免显示Status内容
- 如果原代码中
stroke绑定了流程相关字段,直接替换为上述条件逻辑即可
内容的提问来源于stack exchange,提问作者Sheena Winder
相关产品推荐
相关产品推荐

