如何修改Power BI Deneb Edge Bundling代码以读取本地XLSX数据源?
在Power BI Deneb中替换Edge Bundling可视化的数据源为本地XLSX
步骤1:准备Power BI数据模型
- 将本地XLSX文件导入Power BI,拆分出两个匹配Vega示例结构的表:
- 节点表:对应原
flare.json,需包含id(唯一节点标识)、name(节点名称)、parent(父节点ID)字段,保持层级结构对应 - 连线表:对应原
flare-dependencies.json,需包含source(起始节点ID)、target(目标节点ID)字段
- 节点表:对应原
- 确保两个表的字段值格式一致(比如大小写、无多余空格)
步骤2:修改Deneb的Vega代码数据源部分
原示例用url加载JSON文件,现在替换为Power BI数据集引用,同时添加数据转换适配扁平表结构:
替换节点数据(原flare.json)
将原代码中的节点数据源块:
{ "name": "tree", "url": "data/flare.json", "format": {"type": "json", "property": "children"} }
修改为:
{ "name": "tree", "source": {"name": "你的节点表名"}, "transform": [ {"type": "stratify", "key": "id", "parentKey": "parent"}, {"type": "tree", "method": "tidy"} ] }
- 把
你的节点表名替换为Power BI中实际的节点表名称 stratify转换用于将扁平表转为层级结构,tree转换生成可视化所需的树布局数据
替换连线数据(原flare-dependencies.json)
将原代码中的连线数据源块:
{ "name": "links", "url": "data/flare-dependencies.json" }
修改为:
{ "name": "links", "source": {"name": "你的连线表名"} }
- 把
你的连线表名替换为Power BI中实际的连线表名称
步骤3:验证与排查
- 检查Deneb预览:切换到数据视图,确认节点和连线数据已正确加载
- 连线不显示:核实连线表的
source/target值与节点表id完全匹配 - 层级异常:调整
stratify转换的key和parentKey参数,确保父节点关联正确
内容的提问来源于stack exchange,提问作者user22131760
相关产品推荐
相关产品推荐

