PowerBI中如何将事件注册答案的多行数据合并为单条记录?
PowerBI 活动报名记录合并解决方案
1. 正确透视自定义表单答案表
打开Power Query编辑器,处理EventRegistrationAnswers表:
- 选中
Event Registration列(关联报名记录的外键) - 点击「转换」选项卡 → 「透视列」
- 在弹出窗口中:
- 「值列」选择
Value - 「聚合值函数」选择不要聚合(如果存在同一报名、同一问题的重复答案,可选择「第一个」或「最大值」确保唯一值)
透视完成后,每个Event RegistrationID会对应一行,所有表单问题(Field Name)转为列名,答案(Value)填充到对应单元格。
- 「值列」选择
2. 合并报名主表与透视后的答案表
在Power Query中处理EventRegistration表:
- 点击「合并查询」→ 「合并查询作为新查询」
- 选择要合并的表为刚才透视好的
EventRegistrationAnswers透视表 - 合并依据选择
EventRegistrationId(主表)和Event Registration(透视表) - 合并类型选「左外部」,确保所有报名记录都能保留(哪怕没有自定义表单答案)
- 展开合并后的列,勾选所有透视生成的表单字段,完成合并。
3. 关联活动表并配置切片器
回到数据视图:
- 确保
Event表的EventId与EventRegistration表的EventId建立一对多关系 - 在报表视图插入
Event表的切片器(比如用「Event Name」或「Event Date」) - 创建表格可视化,添加
EventRegistration的基础字段(First Name、Last Name、E-Mail等)和透视后的表单字段,即可实现:选择活动后,每条报名记录以单行展示所有表单答案。
补充说明
如果不同活动的表单字段差异大,透视后会出现大量空列,可在可视化的「字段」面板中右键空列选择「隐藏」;如需更灵活的显示,可编写DAX度量值判断字段是否在当前活动有数据,实现动态列展示。
内容的提问来源于stack exchange,提问作者marc_s
相关产品推荐
相关产品推荐

