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

如何在Power Query中将逗号分隔列表转为维恩图格式及替代方案

维恩图数据处理与工具解决方案

一、Power Query 实现 Flourish 所需数据格式转换

针对你的数据库表结构,可按以下步骤完成数据格式转换:

1. 拆分兴趣列

将「Shared Interests」列按逗号拆分成多行,每个兴趣单独占一行:

  • 在Power Query中导入数据库表,选中「Shared Interests」列,点击「拆分列」→「按分隔符」,选择逗号,勾选「拆分为行」,得到每个用户对应单个兴趣的表。

2. 生成所有兴趣组合

先提取所有唯一兴趣,再生成所有非空子集组合:

  • 提取唯一兴趣:新建查询,从拆分后的表中提取「Shared Interests」列的唯一值,保存为列表UniqueInterests。
  • 生成组合:使用自定义函数生成所有长度≥1的兴趣组合,并转换为短横线连接的字符串。示例代码:
let
    GenerateInterestCombinations = (interests as list) as list =>
        let
            CombinationLengths = List.Numbers(1, List.Count(interests)),
            AllCombinations = List.Combine(List.Transform(CombinationLengths, (len) => List.Combinations(interests, len))),
            FormattedCombinations = List.Transform(AllCombinations, (comb) => Text.Combine(comb, "-"))
        in
            FormattedCombinations,
    UniqueInterests = {"阅读", "运动", "音乐"},
    Result = GenerateInterestCombinations(UniqueInterests)
in
    Result

3. 统计组合出现次数

统计每个兴趣组合对应的用户数量(即有多少用户的兴趣列表包含该组合):

  • 回到原始拆分后的表,添加自定义列UserInterestSet,公式为List.Distinct([Shared Interests]),得到每个用户的兴趣集合。
  • 将生成的组合列表转为表,添加自定义列Value,公式为:
List.Count(List.Select(原始表[UserInterestSet], (userInterests) => List.IsSubset(Text.Split([组合], "-"), userInterests)))
  • 最终得到的表即为Flourish所需的「组合-次数」格式。

二、自动生成维恩图的工具推荐

如果不想手动处理数据,可直接使用以下工具:

  • Tableau:支持直接连接数据库,通过计算字段自动识别兴趣交集,拖拽操作即可生成维恩图,适合专业可视化场景。
  • Python(matplotlib_venn库):先通过Pandas处理数据库数据得到各区域人数,再用代码快速生成维恩图,示例代码:
from matplotlib_venn import venn3
import matplotlib.pyplot as plt

# 示例:三个兴趣的区域人数(只A、只B、A∩B、只C、A∩C、B∩C、A∩B∩C)
venn3(subsets=(20, 15, 5, 10, 3, 4, 2), set_labels=("阅读", "运动", "音乐"))
plt.title("兴趣重叠维恩图")
plt.show()
  • R语言(VennDiagram包):专门针对维恩图开发的工具,支持2-7个集合,代码简洁,适合统计分析用户。
  • Canva:在线可视化工具,提供预制维恩图模板,可直接导入统计好的数值,拖拽调整样式,无需代码基础。
  • Microsoft Excel:插入SmartArt中的维恩图,通过COUNTIFS等公式计算兴趣交集后填入数值,适合日常办公场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:16:11