PowerBI技术问题:如何将含列表/非列表的答案列按问题转置并保留其他列
PowerBI 处理混合列表/非列表答案列并转置问题列的方案
核心需求
现有数据表包含问题列、答案列(混合存在列表/单个值)及其他业务列,需将每个问题转为独立列,对应填充答案内容,同时保留所有原业务列。
解决步骤(基于Power Query编辑器)
进入Power Query编辑器
选中目标数据表,点击菜单栏「转换数据」进入Power Query编辑界面。统一答案列格式为列表
因为答案列混合了列表和单个值,先将所有值转为列表格式,确保后续处理统一:- 选中「答案」列,点击「添加列」→「自定义列」,输入公式:
= if Value.Is([答案], type list) then [答案] else {[答案]} - 删除原「答案」列,将新自定义列重命名为「答案」。
- 选中「答案」列,点击「添加列」→「自定义列」,输入公式:
展开答案列
点击「答案」列标题旁的展开按钮(⊕),选择「展开到新行」,此时每个列表中的答案会单独占一行,同时保留原数据的其他列内容。转置问题列为独立列
- 选中所有需要保留的业务列(除「问题」「答案」外的列),点击「转换」→「分组依据」,分组操作选择「高级」,确保这些列都作为分组依据,聚合操作留空后点击确定。
- 选中「问题」列,点击「转换」→「转列」,在弹出窗口中:
- 值列选择「答案」
- 聚合值函数选择「不要聚合」
- 点击确定后,每个问题会成为独立的列,对应填充答案内容。
加载数据回PowerBI
点击「关闭并应用」,处理后的数据表将符合预期格式。
内容的提问来源于stack exchange,提问作者db2020
相关产品推荐
相关产品推荐

