如何在Tableau Public中过滤网络图以显示全部关联连接
解决Tableau Public网络图中Product Code过滤时保留关联连线的问题
问题原因
直接用Product Code字段过滤时,连线行的Product Code仅对应连线的其中一端,导致选中另一端产品码时,连线行被过滤掉,只留下匹配的节点。要实现「选中产品码时保留所有关联连线和节点」的需求,需要重新构建过滤逻辑,让连线行能识别两端产品码是否被选中。
解决方案步骤
拆分Combination字段为两端产品码
创建两个计算字段,把连线的两端产品码拆分出来:- 计算字段
Code 1:TRIM(SPLIT([Combination], "-", 1)) - 计算字段
Code 2:TRIM(SPLIT([Combination], "-", 2))
(
TRIM用于清除拆分后可能存在的空格,确保匹配准确)- 计算字段
创建产品码选择集
- 在
Product Code字段上右键,选择创建 > 集,命名为Selected Products。 - 打开集的编辑窗口,选择「使用全部」或「自定义列表」,后续可通过集的选择器指定要过滤的产品码(替代原Product Code过滤器)。
- 在
构建行保留逻辑的计算字段
创建计算字段Keep Row,判断当前行是否需要被保留:// 保留匹配选中产品码的节点行 [Product Code] IN [Selected Products] OR // 保留两端任意一端匹配选中产品码的连线行 [Code 1] IN [Selected Products] OR [Code 2] IN [Selected Products]应用过滤器并调整视图
- 将
Keep Row字段拖到过滤器面板,勾选True。 - 移除原来的
Product Code过滤器,改用Selected Products集的选择器(可将集拖到仪表板作为筛选控件)。 - 保持原有的双轴配置不变,此时过滤后节点和关联连线会同时显示。
- 将
验证效果
- 选中
DDD时,所有Product Code=DDD的节点行,以及Combination包含DDD的连线行都会保留; - 选中
BBB时,Product Code=BBB的节点行和BBB-DDD的连线行会保留,完全符合需求。
注意事项
- 如果
Combination的分隔符不是短横线,需调整SPLIT函数中的分隔符参数; - 行级安全环境下,集的选择逻辑会受数据权限限制,确保集的数据源权限配置正确;
- 若数据量较大,可考虑提前在数据源中拆分
Combination字段,提升视图性能。
内容的提问来源于stack exchange,提问作者S O
相关产品推荐
相关产品推荐

