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

如何处理Qualtrics多问题Excel数据,在Power BI中绘制分组条形图?

解决Power BI中Qualtrics多问题数据的分组条形图处理方案

针对Qualtrics导出的多问题带分子项的数据,解决先后unpivot关联混乱、全量unpivot数据膨胀的问题,按以下步骤操作:

核心思路

拆分单个问题的子项列单独处理,统一格式后合并,既能保证数据结构清晰,又能支持单问题筛选绘图。

具体操作步骤

1. 识别问题子项列

先梳理原始表的列名:比如Q1对应技能学习渠道,子项列是Q1_1、Q1_2...;Q2对应观点同意度,子项列是Q2_1、Q2_2...,确保每个问题的子项列有统一前缀。

2. 单问题数据处理(Power Query)

  • 复制原始表,重命名为对应问题的表(比如"Q1_技能学习渠道")
  • 在新表中,仅保留Response ID和当前问题的所有子项列,删除其他列
  • 选中Response ID列,右键选择逆透视其他列,此时表会生成属性(子项名称)和值(用户选择/得分)两列
  • 添加自定义列,命名为问题名称,输入固定值(比如"技能学习渠道"),用于后续筛选
  • 重复上述步骤,处理所有问题的表(如Q2_观点同意度)

3. 合并所有处理后的表

在Power Query中,选择所有处理好的单问题表,点击追加查询 → 追加多个查询,将所有表合并为一个总表。总表结构为:Response ID、问题名称、属性(子项)、值(结果)。

4. 绘制分组条形图

回到Power BI报表视图:

  • 将属性(子项)拖到X轴,值拖到Y轴,问题名称拖到筛选器
  • 在筛选器中选择要展示的问题(比如"技能学习渠道"),即可生成目标样式的分组条形图;切换筛选器就能展示其他问题的图表,不会出现数据关联混乱或膨胀的问题

高效优化技巧

如果问题数量较多,可在Power Query中用M代码批量处理:

  1. 提取所有问题前缀(比如从列名中提取Q1、Q2)
  2. 循环生成每个问题的处理表,自动添加问题名称并完成unpivot
  3. 批量追加所有表

示例M代码片段(仅作参考):

let
    原始数据 = 你的原始表,
    列名 = Table.ColumnNames(原始数据),
    问题前缀 = List.Distinct(List.Transform(列名, each Text.BeforeDelimiter(_, "_"))),
    处理表列表 = List.Transform(问题前缀, (前缀) =>
        let
            筛选列 = List.Select(列名, each Text.StartsWith(_, prefix) or _ = "Response ID"),
            筛选表 = Table.SelectColumns(原始数据, 筛选列),
            逆透视 = Table.UnpivotOtherColumns(筛选表, {"Response ID"}, "子项", "值"),
            添加问题名称 = Table.AddColumn(逆透视, "问题名称", each if prefix = "Q1" then "技能学习渠道" else if prefix = "Q2" then "观点同意度" else prefix)
        in
            添加问题名称
    ),
    合并表 = Table.Combine(处理表列表)
in
    合并表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 16:21:51